Add CAcert theme based on fomantic-ui-less
This commit is contained in:
parent
d2ac0c2935
commit
663e2de89a
11 changed files with 9818 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
/*.log
|
||||
/dist/
|
||||
/node_modules/
|
70
cacert-theme/semantic.less
Normal file
70
cacert-theme/semantic.less
Normal file
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
|
||||
███████╗███████╗███╗ ███╗ █████╗ ███╗ ██╗████████╗██╗ ██████╗ ██╗ ██╗██╗
|
||||
██╔════╝██╔════╝████╗ ████║██╔══██╗████╗ ██║╚══██╔══╝██║██╔════╝ ██║ ██║██║
|
||||
███████╗█████╗ ██╔████╔██║███████║██╔██╗ ██║ ██║ ██║██║ ██║ ██║██║
|
||||
╚════██║██╔══╝ ██║╚██╔╝██║██╔══██║██║╚██╗██║ ██║ ██║██║ ██║ ██║██║
|
||||
███████║███████╗██║ ╚═╝ ██║██║ ██║██║ ╚████║ ██║ ██║╚██████╗ ╚██████╔╝██║
|
||||
╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝
|
||||
|
||||
Import this file into your LESS project to use Fomantic-UI without build tools
|
||||
*/
|
||||
|
||||
/* Global */
|
||||
& { @import "~fomantic-ui-less/definitions/globals/reset"; }
|
||||
& { @import "~fomantic-ui-less/definitions/globals/site"; }
|
||||
|
||||
/* Elements */
|
||||
& { @import "~fomantic-ui-less/definitions/elements/button"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/container"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/divider"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/header"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/icon"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/image"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/input"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/label"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/list"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/elements/loader"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/elements/placeholder"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/elements/rail"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/elements/reveal"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/segment"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/step"; }
|
||||
& { @import "~fomantic-ui-less/definitions/elements/text"; }
|
||||
|
||||
/* Collections */
|
||||
& { @import "~fomantic-ui-less/definitions/collections/breadcrumb"; }
|
||||
& { @import "~fomantic-ui-less/definitions/collections/form"; }
|
||||
& { @import "~fomantic-ui-less/definitions/collections/grid"; }
|
||||
& { @import "~fomantic-ui-less/definitions/collections/menu"; }
|
||||
& { @import "~fomantic-ui-less/definitions/collections/message"; }
|
||||
& { @import "~fomantic-ui-less/definitions/collections/table"; }
|
||||
|
||||
/* Views */
|
||||
//& { @import "~fomantic-ui-less/definitions/views/ad"; }
|
||||
& { @import "~fomantic-ui-less/definitions/views/card"; }
|
||||
//& { @import "~fomantic-ui-less/definitions/views/comment"; }
|
||||
//& { @import "~fomantic-ui-less/definitions/views/feed"; }
|
||||
& { @import "~fomantic-ui-less/definitions/views/item"; }
|
||||
& { @import "~fomantic-ui-less/definitions/views/statistic"; }
|
||||
|
||||
/* Modules */
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/accordion"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/calendar"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/checkbox"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/dimmer"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/dropdown"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/embed"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/modal"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/nag"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/popup"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/progress"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/slider"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/rating"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/search"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/shape"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/sidebar"; }
|
||||
// & { @import "~fomantic-ui-less/definitions/modules/sticky"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/tab"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/toast"; }
|
||||
& { @import "~fomantic-ui-less/definitions/modules/transition"; }
|
7
cacert-theme/site/globals/site.variables
Normal file
7
cacert-theme/site/globals/site.variables
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*******************************
|
||||
User Global Variables
|
||||
*******************************/
|
||||
|
||||
@primaryColor : #11568C;
|
||||
@green : #00BE00;
|
||||
@olive : #C7FF00;
|
100
cacert-theme/theme.config
Normal file
100
cacert-theme/theme.config
Normal file
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
|
||||
████████╗██╗ ██╗███████╗███╗ ███╗███████╗███████╗
|
||||
╚══██╔══╝██║ ██║██╔════╝████╗ ████║██╔════╝██╔════╝
|
||||
██║ ███████║█████╗ ██╔████╔██║█████╗ ███████╗
|
||||
██║ ██╔══██║██╔══╝ ██║╚██╔╝██║██╔══╝ ╚════██║
|
||||
██║ ██║ ██║███████╗██║ ╚═╝ ██║███████╗███████║
|
||||
╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝
|
||||
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme Selection
|
||||
*******************************/
|
||||
|
||||
/* To override a theme for an individual element
|
||||
specify theme name below
|
||||
*/
|
||||
|
||||
/* Global */
|
||||
@site : 'default';
|
||||
@reset : 'default';
|
||||
|
||||
/* Elements */
|
||||
@button : 'default';
|
||||
@container : 'default';
|
||||
@divider : 'default';
|
||||
@emoji : 'default';
|
||||
@flag : 'default';
|
||||
@header : 'default';
|
||||
@icon : 'default';
|
||||
@image : 'default';
|
||||
@input : 'default';
|
||||
@label : 'default';
|
||||
@list : 'default';
|
||||
@loader : 'default';
|
||||
@placeholder: 'default';
|
||||
@rail : 'default';
|
||||
@reveal : 'default';
|
||||
@segment : 'default';
|
||||
@step : 'default';
|
||||
@text : 'default';
|
||||
|
||||
/* Collections */
|
||||
@breadcrumb : 'default';
|
||||
@form : 'default';
|
||||
@grid : 'default';
|
||||
@menu : 'default';
|
||||
@message : 'default';
|
||||
@table : 'default';
|
||||
|
||||
/* Modules */
|
||||
@accordion : 'default';
|
||||
@calendar : 'default';
|
||||
@checkbox : 'default';
|
||||
@dimmer : 'default';
|
||||
@dropdown : 'default';
|
||||
@embed : 'default';
|
||||
@modal : 'default';
|
||||
@nag : 'default';
|
||||
@popup : 'default';
|
||||
@progress : 'default';
|
||||
@slider : 'default';
|
||||
@rating : 'default';
|
||||
@search : 'default';
|
||||
@shape : 'default';
|
||||
@sidebar : 'default';
|
||||
@sticky : 'default';
|
||||
@tab : 'default';
|
||||
@toast : 'default';
|
||||
@transition : 'default';
|
||||
|
||||
/* Views */
|
||||
@ad : 'default';
|
||||
@card : 'default';
|
||||
@comment : 'default';
|
||||
@feed : 'default';
|
||||
@item : 'default';
|
||||
@statistic : 'default';
|
||||
|
||||
/*******************************
|
||||
Folders
|
||||
*******************************/
|
||||
|
||||
/* Path to theme packages */
|
||||
@themesFolder : 'themes';
|
||||
|
||||
/* Path to site override folder */
|
||||
@siteFolder : '../../cacert-theme/site';
|
||||
|
||||
|
||||
/*******************************
|
||||
Import Theme
|
||||
*******************************/
|
||||
|
||||
@import (multiple) "~fomantic-ui-less/theme.less";
|
||||
|
||||
@fontPath : "../../../themes/@{theme}/assets/fonts";
|
||||
|
||||
/* End Config */
|
9453
package-lock.json
generated
Normal file
9453
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
36
package.json
Normal file
36
package.json
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "cacert-css",
|
||||
"version": "1.0.0",
|
||||
"description": "CSS theme for CAcert web applications",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"fomantic-ui-less": "^2.8.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"clean-webpack-plugin": "^3.0.0",
|
||||
"css-loader": "^1.0.1",
|
||||
"file-loader": "2.0.0",
|
||||
"html-loader": "^1.1.0",
|
||||
"html-webpack-plugin": "^4.3.0",
|
||||
"less": "3.8.1",
|
||||
"less-loader": "^6.1.0",
|
||||
"mini-css-extract-plugin": "^0.4.4",
|
||||
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
||||
"style-loader": "^1.2.1",
|
||||
"url-loader": "1.1.2",
|
||||
"webpack": "^4.43.0",
|
||||
"webpack-cli": "^3.3.11",
|
||||
"webpack-dev-server": "^3.11.0",
|
||||
"webpack-merge": "^4.2.2"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "webpack-dev-server --open --config webpack.dev.js",
|
||||
"build": "webpack --config webpack.prod.js"
|
||||
},
|
||||
"keywords": [
|
||||
"CAcert",
|
||||
"CSS"
|
||||
],
|
||||
"author": "Jan Dittberner",
|
||||
"license": "MIT"
|
||||
}
|
61
src/index.html
Normal file
61
src/index.html
Normal file
File diff suppressed because one or more lines are too long
1
src/index.js
Normal file
1
src/index.js
Normal file
|
@ -0,0 +1 @@
|
|||
require('../cacert-theme/semantic.less')
|
71
webpack.common.js
Normal file
71
webpack.common.js
Normal file
|
@ -0,0 +1,71 @@
|
|||
const webpack = require('webpack');
|
||||
const path = require('path');
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
||||
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
|
||||
const devMode = process.env.NODE_ENV !== 'production';
|
||||
|
||||
module.exports = {
|
||||
entry: {
|
||||
app: './src/index.js',
|
||||
},
|
||||
plugins: [
|
||||
new CleanWebpackPlugin(),
|
||||
new HtmlWebpackPlugin({
|
||||
title: 'CAcert',
|
||||
template: './src/index.html',
|
||||
}),
|
||||
new MiniCssExtractPlugin({
|
||||
filename: '[name].[contenthash].css'
|
||||
}),
|
||||
new OptimizeCSSAssetsPlugin({})
|
||||
],
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
filename: '[name].bundle.[hash].js'
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx'],
|
||||
alias: {
|
||||
'../../theme.config$': path.join(__dirname, 'cacert-theme/theme.config')
|
||||
}
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(sa|sc|c)ss$/,
|
||||
use: [
|
||||
devMode ? 'style-loader' : MiniCssExtractPlugin.loader,
|
||||
'css-loader',
|
||||
'postcss-loader',
|
||||
'sass-loader'
|
||||
],
|
||||
},
|
||||
{
|
||||
test: /\.less$/,
|
||||
use: [
|
||||
MiniCssExtractPlugin.loader,
|
||||
'css-loader',
|
||||
'less-loader'
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.jpe?g$|\.git$|\.ico$|\.png$|\.svg$/,
|
||||
use: 'file-loader?name=[name].[ext]?[hash]'
|
||||
},
|
||||
{
|
||||
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
||||
loader: 'url-loader?limit=10000&mimetype=application/font-woff'
|
||||
},
|
||||
{
|
||||
test: /\.(ttf|eot)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
||||
loader: 'file-loader'
|
||||
},
|
||||
{
|
||||
test: /\.otf(\?.*)?$/,
|
||||
use: 'file-loader?name=/fonts/[name].[ext]&mimetype=application/font-otf'
|
||||
}
|
||||
]
|
||||
},
|
||||
};
|
10
webpack.dev.js
Normal file
10
webpack.dev.js
Normal file
|
@ -0,0 +1,10 @@
|
|||
const merge = require('webpack-merge');
|
||||
const common = require('./webpack.common.js');
|
||||
|
||||
module.exports = merge(common, {
|
||||
mode: 'development',
|
||||
devtool: 'inline-source-map',
|
||||
devServer: {
|
||||
contentBase: './dist',
|
||||
},
|
||||
});
|
6
webpack.prod.js
Normal file
6
webpack.prod.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
const merge = require('webpack-merge');
|
||||
const common = require('./webpack.common.js');
|
||||
|
||||
module.exports = merge(common, {
|
||||
mode: 'production',
|
||||
});
|
Loading…
Reference in a new issue