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