Skip to content
Snippets Groups Projects
Commit abe349ef authored by Anton Sarukhanov's avatar Anton Sarukhanov
Browse files

Merge branch 'frontend-cleanup' into 'master'

Refactor front-end dependency management.

See merge request !4
parents c8f25fa5 bfb6ecc0
1 merge request!4Refactor front-end dependency management.
Pipeline #195 passed with stage
in 46 seconds
Showing
with 4100 additions and 92 deletions
# Pelican # Pelican
output output
# Bower # JS Modules from NPM
bower_components node_modules
theme/static/lib
# Compiled/minified JS artifacts from Webpack
theme/static
# Python # Python
*.py[cod] *.py[cod]
......
html: html:
pelican content -o output -s pelicanconf.py npm run build && pelican content -o output -s pelicanconf.py
regenerate: regenerate:
pelican -r content -o output -s pelicanconf.py npm run build && pelican -r content -o output -s pelicanconf.py
serve: serve:
cd output && python -m pelican.server 5000 cd output && python -m pelican.server 5000
......
...@@ -9,7 +9,7 @@ a static site generator written in Python. ...@@ -9,7 +9,7 @@ a static site generator written in Python.
* `sudo apt install libjpeg-dev` * `sudo apt install libjpeg-dev`
* Create a [virtualenv](https://virtualenv.pypa.io/en/stable/) * Create a [virtualenv](https://virtualenv.pypa.io/en/stable/)
* `pip install -r requirements.txt` to install Python dependencies * `pip install -r requirements.txt` to install Python dependencies
* `bower-installer` to install front-end dependencies * `npm run build` to install front-end (NPM) dependencies
## Generating HTML output ## Generating HTML output
......
{
"name": "ant.sr",
"authors": [
"Anton Sarukhanov <code@ant.sr>"
],
"description": "Anton Sarukhanov's personal website",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"normalize-css": "normalize.css#^4.1.1",
"autosize": "^3.0.18",
"jquery": "^3.1.1"
},
"install": {
"path": "theme/static/lib"
}
}
This diff is collapsed.
{
"name": "ant.sr",
"version": "1.0.0",
"private": true,
"description": "My personal website. Built with [Pelican](http://docs.getpelican.com/), a static site generator written in Python.",
"dependencies": {
"autosize": "^4.0.2",
"jquery": "^3.4.1",
"normalize.css": "^8.0.1"
},
"devDependencies": {
"css-loader": "^4.2.2",
"file-loader": "^6.0.0",
"fontsource-asap": "^3.0.5",
"fontsource-headland-one": "^3.0.5",
"mini-css-extract-plugin": "^0.10.0",
"style-loader": "^1.2.1",
"url-loader": "^4.1.0",
"webpack": "^4.44.1",
"webpack-cli": "^3.3.12"
},
"scripts": {
"build": "webpack --config webpack.conf.js"
}
}
...@@ -9,9 +9,9 @@ SITENAME = 'Anton Sarukhanov' ...@@ -9,9 +9,9 @@ SITENAME = 'Anton Sarukhanov'
SITESUBTITLE = 'Full-Stack Developer' SITESUBTITLE = 'Full-Stack Developer'
SITEURL = os.environ.get('SITEURL') SITEURL = os.environ.get('SITEURL')
PLUGINS = ['advthumbnailer'] PLUGINS = ['advthumbnailer', 'pelican_webassets']
MD_EXTENSIONS = ['toc(permalink=🔗)', 'codehilite(linenums=False)', 'extra'] MARKDOWN = {'extensions': ['toc(permalink=🔗)', 'codehilite(linenums=False)', 'extra']}
PATH = 'content' PATH = 'content'
THEME = 'theme' THEME = 'theme'
...@@ -77,6 +77,3 @@ FEED_DOMAIN = 'https://ant.sr' ...@@ -77,6 +77,3 @@ FEED_DOMAIN = 'https://ant.sr'
MENUITEMS = (('Resume', '/resume.pdf'), MENUITEMS = (('Resume', '/resume.pdf'),
('Code', 'https://git.xhost.io/users/anton/projects'),) ('Code', 'https://git.xhost.io/users/anton/projects'),)
PIWIK_URL = 'analytics.ant.sr'
PIWIK_SITE_ID = 4
...@@ -14,7 +14,3 @@ FEED_ALL_ATOM = 'feeds/all.atom.xml' ...@@ -14,7 +14,3 @@ FEED_ALL_ATOM = 'feeds/all.atom.xml'
CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml' CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'
DELETE_OUTPUT_DIRECTORY = True DELETE_OUTPUT_DIRECTORY = True
PIWIK_URL = "analytics.ant.sr"
PIWIK_SITE_ID = 4
wheel wheel
pelican==3.6.3 pelican==3.7.1
Markdown==2.6.6 Markdown==2.6.6
pelican-advthumbnailer==0.5.0 pelican-advthumbnailer==0.7.0
pelican-webassets==1.0.0
piexif==1.1.3 piexif==1.1.3
Pillow==5.0.0 Pillow==5.0.0
/********** CSS Libraries **********/
@import 'normalize.css';
/********** Fonts **********/ /********** Fonts **********/
@font-face { @import 'fontsource-headland-one';
font-family: 'Asap'; @import 'fontsource-asap';
font-style: normal;
font-weight: 400;
src: local('Asap'), /********** CodeHilite color scheme **********/
local('Asap-Regular'), @import 'pygments-native.css';
url(../fonts/asap/Asap-Regular.ttf) format('truetype'),
url(../fonts/asap/Asap-Regular.woff) format('woff'),
url(../fonts/asap/Asap-Regular.eot) format('embedded-opentype');
}
@font-face {
font-family: 'Asap';
font-style: italic;
font-weight: 400;
src: local('Asap'),
local('Asap-Italic'),
url(../fonts/asap/Asap-Italic.ttf) format('truetype'),
url(../fonts/asap/Asap-Italic.woff) format('woff'),
url(../fonts/asap/Asap-Italic.eot) format('embedded-opentype');
}
@font-face {
font-family: 'Asap';
font-style: normal;
font-weight: 700;
src: local('Asap'),
local('Asap-Bold'),
url(../fonts/asap/Asap-Bold.ttf) format('truetype'),
url(../fonts/asap/Asap-Bold.woff) format('woff'),
url(../fonts/asap/Asap-Bold.eot) format('embedded-opentype');
}
@font-face {
font-family: 'Asap';
font-style: italic;
font-weight: 700;
src: local('Asap'),
local('Asap-BoldItalic'),
url(../fonts/asap/Asap-BoldItalic.ttf) format('truetype'),
url(../fonts/asap/Asap-BoldItalic.woff) format('woff'),
url(../fonts/asap/Asap-BoldItalic.eot) format('embedded-opentype');
}
@font-face {
font-family: 'Headland One';
font-style: normal;
font-weight: 400;
src: local('Headland One'),
local('HeadlandOne-Regular'),
url(../fonts/headlandone/HeadlandOne-Regular.ttf) format('truetype'),
url(../fonts/headlandone/HeadlandOne-Regular.woff) format('woff'),
url(../fonts/headlandone/HeadlandOne-Regular.eot) format('embedded-opentype');
}
/********** General **********/ /********** General **********/
......
/*
* Styles (for Webpack)
*/
// Site style (here for Webpack)
import '../css/style.css';
/* Responsive Navigation Menu /* Responsive Navigation Menu
* *
* Expand/collapse logic for hamburger menu. * Expand/collapse logic for hamburger menu.
...@@ -65,10 +72,10 @@ ...@@ -65,10 +72,10 @@
triggers.push(trigger); triggers.push(trigger);
} }
}); });
for (t in triggers) { for (let t in triggers) {
$(triggers[t]).on("keyup", function() { $(triggers[t]).on("keyup", function() {
var deps = $(this).data('dependents'); var deps = $(this).data('dependents');
for (d in deps) { for (let d in deps) {
if ($(this).val()) { if ($(this).val()) {
$(deps[d]).show(); $(deps[d]).show();
} else { } else {
......
/*
* Auto-height textareas
*/
(function() {
var autosize = require('autosize/dist/autosize.js');
autosize($('textarea'));
})();
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment