Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mateuszkubuszok/independence
Configurable Jekyll template of a AWS-hosted blog, with JS-dependencies limited as much as possible
https://github.com/mateuszkubuszok/independence
blog-theme docker jekyll jekyll-theme self-hosted
Last synced: 1 day ago
JSON representation
Configurable Jekyll template of a AWS-hosted blog, with JS-dependencies limited as much as possible
- Host: GitHub
- URL: https://github.com/mateuszkubuszok/independence
- Owner: MateuszKubuszok
- License: apache-2.0
- Created: 2018-12-29T21:55:50.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-13T14:45:12.000Z (about 1 month ago)
- Last Synced: 2024-12-13T16:14:52.434Z (about 1 month ago)
- Topics: blog-theme, docker, jekyll, jekyll-theme, self-hosted
- Language: SCSS
- Homepage:
- Size: 8.16 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jekyll Independence template
Jekyll template, which focuses on providing blog with rendering server side
as many things as possible, as well as tweaking it to have some SEO optimizations.Features:
* code rendered server-side with Rouge ([Pygments Twilight theme by Dan Simpson](https://gist.github.com/dansimpson/803005), trac for printing),
* TeX rendered server-side with KaTeX,
* graphs generated using Graphviz,
* CSS is minified and compiled into 3 preloaded styles, divided by `media`,
* self-hosted Google Fonts (Raleway, Roboto Sans) for normal text and FiraCode for code blocks,
* JS only for Google Analytics, Disqus, and CSS preload (with JS disabled styles are loaded without preload),
* configurable though `_config.yml`,
* `hidded: true` front matter hides posts from links, but publishes it (compatible with pagination plugin),
* `recommended: [/permalink1/, /permalink1/]` front matter creates reccomended posts under article,
* `image: /images/post3.jpg` front matter replaces default H1 background with a custom one,
* date translated with [oncleben31/jekyll-date-basic-i18n](https://github.com/oncleben31/jekyll-date-basic-i18n),
* images which will places in `.img` class (put `{:.img}` one line before) - will be displayed without borders,
* can be build, served and published to AWS using Docker.Many ideas here were inspired by [Uno theme](https://github.com/joshgerdes/jekyll-uno) -
I started out by modifying Uno but at some point I decided, that writing theme
from scratch with some inspirations would be an easier way to implement my ideas.## Blog workflow
At first, Edit `_config.yaml` to customize your site's title, URL and social media buttons.
Then update `cover.jpg` and `profile.jpg` in `images/`.
Finally, generate favicons using https://realfavicongenerator.net/ and put them
into `images/favicons/` (head is already configured):* select all icons in *Favicon for iOS - Web Clip*/*Assets*
* select *create all documented icons* in *Favicon for Android Chrome*/*Assets*
* select all icons in *Windows Metro*/*Assets*Unfortunatelly, `favicon-96x96.png` and `favicon-194x194.png` have to be created manually
(for instance by scaling down some other favicon).From now on, you can build and serve your blog using Docker via `make`.
It assumes that Docker daemon is already running.If you want to publish blog on push/merge to `master`, fill out AWS secrets in `.travis.yml`.
### Local serve
Uses "debug" build which shows drafts and hides Google Analytics.
make serve
### Publish
Uses "production" build which shows only published posts and enables Google Analytics.
make build
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
export AWS_DEFAULT_REGION=""
export S3_BUCKET=""
export CF_DISTRIBUTION_ID=""
make publish### Update dependencies
make update
## Maintenance
In case you want to update fonts, KaTeX or Rouge files this might come handy.
### FiraCode
Download package from FiraCode GitHub releases.
Put directories with fonts into `fonts/`.
Extract `fira-code.css` into `_sass` and rename it to `fira-code.scss`.
### Font Awesome
Download ZIP from https://fontawesome.com/how-to-use/on-the-web/setup/hosting-font-awesome-yourself .
Extract `webfonts/`, `sprites/` and `svgs/` from ZIP into corresponding folders.
Extract `scss/` into `_sass`.
Skip other files.
### Google Fonts
If you change fonts, use app like https://google-webfonts-helper.herokuapp.com/fonts to download
all files. Put fonts in `fonts/`. Edit `$standard-font` and `$special-font` in `css/common.css`.### KaTeX
Download package from KaTeX GitHub releases.
Extract `fonts/` into `fonts/`.
Extract `katex.css` into `_sass` and rename to `katex.scss`.
## Rouge theme
If you want to change Rouge theme, you can put it into `_sass` (using `.scss` extension).
Then refer it in `css/screen.css`. You might need to edit it if you've taken it from pygments.
Pygments CSS selector is `pre.code`, while Rouge generates
`` - in such case you need to adjust the theme file....