Skip to content

Latest commit

 

History

History
executable file
·
114 lines (80 loc) · 5.29 KB

README.md

File metadata and controls

executable file
·
114 lines (80 loc) · 5.29 KB

voce theme for Pelican

voce is a responsive theme for Pelican. It was templated on pelican-svbhack by Giulio Fidente. It is lightweight and suitable for text heavy articles.

Demo

You can see the theme in action on my site

theme screenshot

Features

  • Clean, responsive design. Scales to fit any screen
  • Fully usable without Javascript (although enabling it adds more functionality)
  • Ability to hide email addresses from spambots
  • Syntax highlighting for code blocks
  • Integrated Google Analytics
  • Custom sidebar links and social icons
  • Fuzzy date display (ex: "Posted 2 days ago") using Javascript
  • Automatically minifies and compresses Javascript and CSS

Dependencies

For automatic minification and compression of assets, this theme uses the webassets package, along with cssmin for minifying css, slimit for compressing Javascript, and libsass for compiling the SCSS styles.

  • All these can be installed with pip by running pip install -r requirements.txt

Additionally, to integrate the webassets package into pelican, the pelican-assets plugin is required. It's included in this repo so it just needs to be activated in pelicanconf.py. If you encounter any issues, you might need to download the latest version from the link above and replace the assets folder.

  • Add "<theme dir>/plugins" to the PLUGIN_PATHS list (or os.path.join("<theme dir>", "plugins") if you're feeling Pythonic)
  • Add "assets" to the PLUGINS list

Installing

  1. Clone this repository making sure to get the submodules (ex: git clone --recursive <repo>)
  2. Install and configure the required dependencies (see above)
  3. Modify the THEME variable in pelicanconf.py to point to the cloned theme location
  4. Customize the theme using the options below

pelicanconf.py

When developing locally, you may want to set SITEURL to something like http://localhost:8000

This theme supports a number of custom variables:

  • GOOGLE_ANALYTICS_ID: Your Google Analytics UA-XXXXXXXX-X code (None to disable analytics).
  • GOOGLE_ANALYTICS_PROP: Your Google Analytics property name (None to disable analytics).
  • USER_LOGO_URL: The image to display in the center of the page. Can be local or a remote URL.
  • MANGLE_EMAILS: If enabled, any emails in the SOCIAL or LINKS lists will be obfuscated in HTML and have their links generated by Javascript when the page loads.
  • GLOBAL_KEYWORDS: A list of strings that will be set as meta keywords for each page.
  • FUZZY_DATES: If True, uses lw-timeago to display fuzzy dates on articles (eg. 'Posted 3 months ago').

The following variables are required in pelicanconf.py to display the submenu with article categories.

  • TAGS_URL = 'tags.html'
  • ARCHIVES_URL = 'archives.html'

Sample Links and Social Widget

LINKS = (('Home','/index.html'),
('About','/pages/about.html'),)

SOCIAL = (('Feed','/feeds/all.atom.xml'),
('Email','mailto:xxx@gmail.com'),
('GitHub','http://github.com/limbenjamin'),)

Social Icons

voce uses social icons from font-awesome. To customise the icons, you will need to edit base.html. Change the link to the domain you wish to link to and look up the class name from font-awesome.

{% elif temp.startswith('mailto:') %}{% set class = 'fa-envelope' %}
{% elif temp.startswith('facebook.com') %}{% set class = 'fa-facebook' %}
{% elif temp.startswith('flickr.com') %}{% set class = 'fa-flickr' %}

Authors

pelican-subtle is authored by pR0Ps.

pelican-svbhack is authored by Giulio Fidente.

voce is authored by Benjamin Lim.

Pull requests welcome!

Licence

The MIT License (MIT)
Copyright (c) 2012 William Ting
Copyright (c) 2013 Giulio Fidente
Copyright (c) 2015 Carey Metcalfe
Copyright (c) 2016 Benjamin Lim

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.