97 lines
2.3 KiB
Python
97 lines
2.3 KiB
Python
# -*- coding: utf-8 -*- #
|
|
from __future__ import unicode_literals
|
|
from git import Repo
|
|
import sys, os
|
|
sys.path.insert(0, os.path.realpath('./'))
|
|
|
|
from config import settings
|
|
|
|
# Global core settings
|
|
AUTHOR = settings.author
|
|
SITENAME = settings.site_name
|
|
SITEURL = settings.url
|
|
PATH = '../content'
|
|
TIMEZONE = settings.timezone
|
|
DEFAULT_LANG = settings.language
|
|
PAGE_PATHS = ["pages"]
|
|
THEME = "../theme"
|
|
THEME_STATIC_DIR = "static"
|
|
THEME_STATIC_PATHS = ["static/build"]
|
|
STATIC_PATHS = ["assets"]
|
|
|
|
USE_FOLDER_AS_CATEGORY = True
|
|
DEFAULT_PAGINATION = False
|
|
SLUGIFY_SOURCE = 'basename'
|
|
|
|
# Social widget
|
|
from plugins import links
|
|
ACCOUNTS = links.accounts()
|
|
FOOTER_LINKS = links.footer()
|
|
INDEX_PROJECTS = links.index_projects()
|
|
|
|
# Extra config
|
|
REPO = Repo(search_parent_directories=True)
|
|
BUILD_PRODUCTION = 'BUILD_PRODUCTION' in os.environ
|
|
from plugins import image_resizer
|
|
META_IMAGES = image_resizer.generate()
|
|
|
|
# Disable some pages
|
|
TAG_URL = False
|
|
TAG_SAVE_AS = False
|
|
TAGS_SAVE_AS = False
|
|
AUTHORS_URL = False
|
|
AUTHORS_SAVE_AS = False
|
|
CATEGORIES_SAVE_AS = False
|
|
ARCHIVES_URL = False
|
|
ARCHIVES_SAVE_AS = False
|
|
AUTHOR_URL = False
|
|
AUTHOR_SAVE_AS = False
|
|
|
|
# Override page URLs
|
|
PAGE_SAVE_AS = "{slug}/index.html"
|
|
PAGE_URL = "{slug}"
|
|
ARTICLE_SAVE_AS = "{category}/{slug}/index.html"
|
|
ARTICLE_URL = "{category}/{slug}/"
|
|
CATEGORY_SAVE_AS = "{slug}/index.html"
|
|
CATEGORY_URL = "{slug}/"
|
|
|
|
# Add ATOM feed
|
|
FEED_ATOM = 'feed.atom'
|
|
FEED_DOMAIN = SITEURL
|
|
|
|
# Setup plugins
|
|
PLUGIN_PATHS = ["../pelican_plugins", "../plugins"]
|
|
PLUGINS = settings.pelican_plugins
|
|
|
|
if BUILD_PRODUCTION:
|
|
PLUGINS.append("minify") # only minify on production build
|
|
|
|
SITEMAP = {
|
|
"format": settings.sitemap_format
|
|
}
|
|
CATEGORY_PAGE_PATH = "theme/templates/categories"
|
|
MINIFY = {
|
|
'remove_comments': True,
|
|
'remove_optional_attribute_quotes': False,
|
|
'reduce_boolean_attributes': True,
|
|
}
|
|
|
|
# Setup markdown extensions
|
|
from fontawesome_markdown import FontAwesomeExtension
|
|
from pyembed.markdown import PyEmbedMarkdown
|
|
from mkdcomments import CommentsExtension
|
|
MD_EXTENSIONS = [
|
|
FontAwesomeExtension(),
|
|
PyEmbedMarkdown(),
|
|
CommentsExtension(),
|
|
'codehilite(css_class=highlight)',
|
|
'extra'
|
|
]
|
|
|
|
# Setup jinja2 filters
|
|
from plugins import filters
|
|
JINJA_FILTERS = {
|
|
"datetime": filters.format_datetime,
|
|
"category_find": filters.category_find,
|
|
"limit": filters.limit
|
|
}
|