Logs for #nikola for 2020-10-05

21:45:19 <a-shepelev> ChrisWarrick: Hello, Chris. Have you some time to tell me about the workings of Nikola?
21:45:44 <ChrisWarrick> a-shepelev: Ask a question to the channel. If you don’t get an answer, try e-mailing the mailing list.
21:46:22 <a-shepelev> Sure, I was going to ask it right here, not by PM. I will try the mailing list if IRC fails.
21:46:50 <a-shepelev> I am maintaining a website with Nikola, published through Github pages.
21:47:05 <a-shepelev> (or rather learning to maintain it)
21:47:55 <a-shepelev> As far as I understand, the build process there it performed in a special environment, where Nikola uses the theme of my choice to process my sources.
21:48:48 <a-shepelev> Is there any way for me to modify the files of the theme except my forking it and publishing the modified fork in such a way as to let Nikola download it to the Gitlab environment?
21:49:58 <a-shepelev> I have tried to copy the theme's files (CSS and templates) into my local directories templates/ and files/assets/css and removing the theme option from conf.py. It seems to work.
21:50:23 <a-shepelev> But is this behavior intended, or am I relying on a hack?
21:50:33 <ChrisWarrick> you can always put a custom theme in the themes/ directory
21:51:30 <ChrisWarrick> templates and files generally work too, but they’re less flexible
21:51:45 <a-shepelev> OK, that thank you. That would be a cleaner approach. So I can add the themes directory under source control?
21:51:52 <a-shepelev> s/can/may
21:52:12 <ChrisWarrick> yes, sure
21:52:24 <a-shepelev> Oh, but what is the difference? Are not themes sets of templates and css files, plus some metadata about inheritance?
21:52:58 <ChrisWarrick> plus you can easily switch between them, plus only themes can customize messages (rarely useful) and bundles (can be handy)
21:53:44 <a-shepelev> Do you mean that a `bundles' file in the root of site source won't work, but will work as part of a theme?
21:55:44 <a-shepelev> But how does inheritance work outside a theme? What does Nikola do with a template reference whose target is unavailable locally?
21:56:02 <a-shepelev> (as is the case with my templates, copied from a theme)
21:57:51 <a-shepelev> I don't understand why they seem to work, and my bundled all.css seems to contain way more than my custom.css .
22:00:18 <a-shepelev> It looks to me that Nikola somehow manages to find and download those files, e.g. feed_translations_helper.tmpl is unavailable locally, but is referenced from base_helper.tmpl and works!
22:00:30 <a-shepelev> (compiles without error)
22:07:21 <a-shepelev> I am asking this because I wanted to see how it works from ground up.
22:27:28 <ChrisWarrick> feed_translations_helper.tmpl is definitely available, it’s part of base/base-jinja
22:28:22 <a-shepelev> But how and why does Nikola download it? It is not present in my sources.
22:28:27 <ChrisWarrick> it’s part of Nikola
22:28:35 <ChrisWarrick> the base/base-jinja theme is always present, contains all templates Nikola could ask for by default/for its own features, it should be at the base of all inheritance trees
22:29:15 <ChrisWarrick> Nikola doesn’t download anything unless you use nikola theme/plugin -i (or some reST directives in your content)
22:29:28 <a-shepelev> Thanks for the explanation. Where can I view the base-jinja theme? I do not like the sheer volume of CSS that is generated...
22:29:58 <ChrisWarrick> nikola/data/themes/base-jinja/templates in your site-packages or in Nikola’s source
22:30:09 <a-shepelev> Oh, inside Nikola itself. Thanks.
22:30:10 <ChrisWarrick> and all of that CSS is mandatory if you use reST
22:30:14 <a-shepelev> That explains it.
22:30:40 <a-shepelev> This there contains the basic utilities which most of other themes use?
22:32:05 <a-shepelev> I found it at a slightly different location:
22:32:05 <a-shepelev> ./lib/python3.5/site-packages/nikola/data/themes
22:32:18 <a-shepelev> No, it's the same.
22:34:42 <a-shepelev> REST for a static site? What can it do?
22:39:09 <ChrisWarrick> reST stands for reStructuredText, and it’s the default input format for Nikola
22:39:42 <a-shepelev> Ah! That REST. Ok. I am using Markdown.
22:39:53 <a-shepelev> reST
22:41:18 <a-shepelev> what would be a way to strip the huge statndard CSS -- copy the base-jinja theme in place and modify it?
22:42:10 <a-shepelev> Will mako then prefer the local version to the one installed under site-packages?
22:43:47 <ChrisWarrick> probably don’t copy base-jinja
22:43:55 <ChrisWarrick> you can make your own bundles file without rst stuff
22:44:17 <a-shepelev> Using a cutsom theme as you proposed above?
22:44:53 <a-shepelev> OK, this is reason enough to make my templaes and CSSes into a theme.
22:53:04 <a-shepelev> Thanks o
22:53:35 <a-shepelev> Thank you very much, Chris. I have switched to using a theme and will adjust the bundles file.
22:54:18 <a-shepelev> One more practical question: I have read in the Handbook that Nikola is highly translatable, but did not find a way to translate the names of tags and categories. Is it possible?
22:54:58 <a-shepelev> I do not mean their description, but the categories themselves: they keys I specify in the posts metadata.
23:27:13 <a-shepelev> Thanks for the help Chris, my CSS is now as lean and clean as I wanted, and now I must to bed. Good bye.