Skip to content

Commit a7b40e5

Browse files
committedMay 17, 2017
Read some extra data from INI files
Signed-off-by: Chris Warrick <kwpolska@gmail.com>
1 parent cc407f6 commit a7b40e5

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
 

‎site/plugins/pkgindex_compiler/pkgindex_compiler.py

+28
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import configparser
3232
import io
3333
import os
34+
import re
3435
import pygments
3536
from nikola import utils
3637
from nikola.plugin_categories import PageCompiler
@@ -176,8 +177,35 @@ def parse_theme_info(post, pkg_dir, config):
176177
c.read(ini)
177178
data['parent'] = c.get('Theme', 'parent', fallback=None)
178179
data['engine'] = c.get('Theme', 'engine', fallback='mako')
180+
data['family'] = c.get('Family', 'family', fallback=theme)
181+
data['family_head'] = data['family'] == theme
182+
if data['engine'] == 'mako':
183+
data['family_mako_variant'] = theme
184+
data['family_jinja_variant'] = c.get('Family', 'jinja_variant', fallback=None)
185+
else:
186+
data['family_mako_variant'] = c.get('Family', 'mako_variant', fallback=None)
187+
data['family_jinja_variant'] = theme
188+
data['family_variants'] = [i.strip() for i in c.get('Family', 'variants', fallback='').split(',')]
179189
data['bootswatch'] = c.getboolean('Nikola', 'bootswatch', fallback=False)
180190
data['tags'] = 'theme,' + data['engine']
191+
data['license'] = c.get('Theme', 'license', fallback=None)
192+
data['author'] = c.get('Theme', 'author', fallback=None)
193+
data['author_url'] = c.get('Theme', 'author_url', fallback=None)
194+
data['author_url'] = c.get('Theme', 'author_url', fallback=None)
195+
based_on = c.get('Theme', 'based_on', fallback=None)
196+
based_on_list = []
197+
if based_on:
198+
for i in based_on.split(','):
199+
i = i.strip()
200+
m = re.match("(.*?) ?<(.*?)>", i)
201+
if m:
202+
based_on_list.append('<a href="{0[1]}">{0[0]}</a>'.format(
203+
m.groups()))
204+
else:
205+
based_on_list.append(i)
206+
207+
data['based_on'] = ', '.join(based_on_list)
208+
181209
theme_tags = c.get('Theme', 'tags', fallback='')
182210
if theme_tags:
183211
data['tags'] += ',' + theme_tags

0 commit comments

Comments
 (0)
Please sign in to comment.