dactl is a fast, modern and configurable Jekyll theme with some tricks up it's sleeve. It has a live theme switcher and it's main blog layout display prominent hero images for posts with colored overlays and nice animations.
Though minimalistic-looking by nature, dactl is easily configurable and includes quite a lot of niceties:
Main features:
rem
and em
which makes them easily scalableJekyll-specific features:
Other features:
Some of the features listed above can be easily configured or disabled by you.
At it's core, dactl is a forked version of daktilo but it has been almost entirely rewritten from scratch.
I have just started my journey in the world of web development, learning new things on the way.
Looking for a way to put my newly acquired skills to test I found Jekyll and I quickly realized that it's going to be a good learning experience since I don't like building 'dummy' projects.
I've built this theme as a way to develop my skills further.
You can find credits at the bottom of this Readme file.
All feedback is welcome, both positive and negative.
Assuming you've got Jekyll installed, clone or download this repo, cd
to wherever you've put dactl
folder and run jekyll -s'
Fork this repo and rename it to yourusername.github.io
... and that's it!
Your new dactl-themed Jekyll blog should be up and running at yourusername.github.io.
dactl relies heavily on modern CSS properties such as mix-blend-mode, -webkit-filter and css variables so it may not work properly on older browsers.
It was tested with and works fully on webkit-powered browsers - Safari, Chrome, Vivaldi.
By default dactl uses blog layout which you can see below or check for yourself in the live version.
Main blog layout displays 5 posts. Each post has a heading contained in a medium-sized tile - with an color overlay over the background image. You need to set the image and color of the overlay in post's YAML front matter.
If you don't want to use images for post headings you can easily configure the layout to you needs by changing settings located in configure.yml
file, both post and blog layout will adapt accordingly.
Options include:
Liquid 'script' which is used to append correct hero image and overlay color as set in post YAML Front matter was written by me and while it's really basic it functions properly.
You can read more about it and see the code in include/utils/hero.html
.
Theme switcher is made in vanilla Javascript and works using CSS Variables. Values (colors) specified for each variable are injected into :root
on every page load.
User theme choice is saved in browser's Local Storage and is persistent through sessions.
You can edit the colors of both Light and Dark themes in themeswitcher.js
file found in _assets/js/
.
dactl uses Barefoot plugin to create nice looking inline footnotes from those generated by kramdown, daktl's markdown processor.
Barefoot description (from project's page):
Barefoot is a lightweight Bigfoot.js alternative written in vanilla Javascript to create beautiful inline footnotes.
Barefoot grabs the common markup used for footnotes on the web, mostly generated by Markdown processors, and transform it into beautiful and meaningful footnotes.
CSS is built by via Jekyll's SASS compiler. Source partial SASS files are located in _sass
folder, included into main.scss
, and compile to main.css
.
Archive page displays all of your posts grouped by month. Under this page's title you'll find a Searchbox which is hooked up to DuckDuckGo's :site
search and will open the results in a new tab.
You need to provide your blog's web address in search_path
field found in _config.yml
for it to work.
About page displays your photo under the title (set in config.yml
) and the content of about.md.
Tags and tag pages are supported by using Jekyll's native collections functionality.
dactl is built almost entirely with rem
s (instead of pixels). rem
s are like em
s, but instead of building on the immediate parent's font-size, they build on the root element, <html>
.
By default, dactl uses the following:
html {
font-size: 20px;
line-height: 1.6;
}
@media (max-width: 48rem) {
html {
font-size: 18px;
}
}
To easily scale your site's typography and components, simply customize the base font-sizes found in _sass/variables.scss
file.
(Lifted from here)
Inspiration and bits of things listed below are present inside dactl's code:
_config.yml
All parts of dactl Jekyll theme are free to use and abuse under the open-source MIT license.
.css
in <head>
for faster load times