Logs for #nikola for 2016-06-29

19:18:20 <[Tritium]> oh, thank you for making nikola trivially maliable.
19:23:38 <KwBot> [nikola] felixfontein closed issue #2384: CATEGORY_PAGES_DESCRIPTIONS is hierarchical, but CATEGORY_PAGES_TITLES is not https://github.com/getnikola/nikola/issues/2384
19:23:46 -GitHub[nikola]:#nikola- [nikola] felixfontein pushed 1 new commit to fix-category-hierarchy-title: https://git.io/voAkM
19:23:46 -GitHub[nikola]:#nikola- nikola/fix-category-hierarchy-title 569669b Felix Fontein: Added CHANGES entry.
19:23:54 -GitHub[nikola]:#nikola- [nikola] felixfontein pushed 1 new commit to master: https://git.io/voAkD
19:23:54 -GitHub[nikola]:#nikola- nikola/master e525b32 Felix Fontein: Merge pull request #2385 from getnikola/fix-category-hierarchy-title...
19:26:42 -GitHub[nikola]:#nikola- [nikola] felixfontein deleted fix-category-hierarchy-title at 569669b: https://git.io/voAIW
19:29:13 -travis-ci:#nikola- getnikola/nikola#7211 (fix-category-hierarchy-title - 569669b : Felix Fontein): The build passed.
19:29:14 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/fcadf5a17301...569669b65639
19:29:14 -travis-ci:#nikola- Build details: https://travis-ci.org/getnikola/nikola/builds/141167587
19:34:15 -travis-ci:#nikola- getnikola/nikola#7213 (master - e525b32 : Felix Fontein): The build passed.
19:34:16 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/11e77728ede9...e525b32ff099
19:34:16 -travis-ci:#nikola- Build details: https://travis-ci.org/getnikola/nikola/builds/141167619
20:52:09 <acbd> hi. first-time user here - thank you very much for nikola, works pretty great so far :)
20:52:29 <acbd> a little bit of feedback if you're interested:
20:55:17 <acbd> * stories vs. pages: it would be nice if these were unified (e.g. only naming variables etc. "page" and writing about "story page" in the docs if necessary to distinguish them from generic website pages or such), in the default conf.py as well as the documentation
20:56:19 <acbd> (i'm not the only one with this opinion btw: http://louistiao.me/posts/how-i-customized-my-nikola-powered-site/#stories-vs-pages)
21:00:14 <acbd> * it would be great if you could use the type metadata attribute (i.e. .. type : sometype) also on pages, i.e. if pages' <article> got a class like page-sometype; currently afaik only posts get post-sometype
21:01:53 <[Tritium]> Stories vs. Pages is there for backwards compat reasons.
21:01:55 <acbd> * it would be nice to have another nesting level for menus (don't know if bootstrap supports this, but it would still be nice for custom templates)
21:02:38 <acbd> * ... or, alternatively, menu element grouping, i.e. adding "headings" inside menus
21:02:39 <[Tritium]> .. type: is just passed to templates, so you can just modify your page template to add more types.
21:02:59 <[Tritium]> Bootstrap explicitly does not support it.
21:03:44 <[Tritium]> there is a config plugin demo to mess with the menu system in such a way
21:04:42 <[Tritium]> All these things are addressable without touching nikola core (its all stuff defined by themes and conf.py)
21:06:15 <acbd> thanks, will search for the menu stuff (also that's not *that* important)
21:06:41 <acbd> having page-{type} in the default templates would be really nice though - and why not adding it (if only for consistency)
21:06:42 <[Tritium]> Its a Proof of Concept plugin
21:07:28 <acbd> same for stories vs. pages - can't you fix this inconsistency on the user-facing side?
21:07:32 <[Tritium]> It was added to add short posts like on tumbler.  The currently available styles only make sense in posts, really
21:08:03 <acbd> counter example: you want one of your pages to be a portfolio page
21:08:56 <acbd> you add .. type: portfolio to that page and use .page-portfolio img { ... } for styling your page instead of adding a class to every image
21:08:58 <[Tritium]> stories is just a default name.  There is nothing in the codebase, other than config.py.in that depends on that, EXCEPT the name story.tmpl (which is what cant be broken for backwards compat)
21:09:01 <acbd> (simple example)
21:09:25 <[Tritium]> the .. type: thing only changes css
21:09:32 <[Tritium]> you want a custom template
21:10:23 <acbd> no - the point was not having to modify the template, but instead using <article class="post-portfolio" ... + custom.css
21:13:26 <[Tritium]> Its a one line simple change in a template.  `nikola theme -c story.tmpl` `vim templates/story.tmpl` and change the class of the article to "post-{{ post.meta('type') }}"
21:13:33 <acbd> about story.tmpl - that would be ok to keep - you could simply change conf.py to ("pages/*.rst", "pages", "story.tmpl") + adjust the rest as far as possible
21:14:09 <[Tritium]> That might change in config.py.in 8.0
21:14:17 <acbd> :)
21:15:41 <[Tritium]> Nikola is REALLY easy to modify themes without reimplementing the world.  you dont even need a custom theme to modify templates.
21:15:54 <[Tritium]> and you dont need to change config at all to use custom templates
21:16:16 <[Tritium]> (oh, by the way, my code example there is jinja2, not mako)
21:16:22 <acbd> well, will probably do that, but it still would cost you nothing ...
21:17:06 <acbd> ... and benefit your users
21:17:14 <acbd> anyway ...
21:18:44 <acbd> * a prominent warning would be nice if the conf.py is outdated; even better would be semi-automatic updating like doxygen does for example (doxygen -u)
21:19:23 <[Tritium]> Define outdated?
21:20:40 <[Tritium]> Every setting has a default, and there is no such thing as an invalid name in conf.py.  I have function and class definitions in my conf.py
21:21:03 <acbd> generated by an older version and now missing options and containing no-longer-supported ones
21:22:03 <[Tritium]> Missing variables arnt an error, and random names are allowed (and have to be to make some things work, like plugin settings, or my insanity of defining classes in the conf)
21:24:17 <[Tritium]> Hypothetically, you could replace conf.py with code that looks things up in an sql database.  it is just a python module
21:25:22 <acbd> ... deprecated options generate a warning, but a "WARNING: Nikola: Your conf.py is outdated - please check for deprecated and new options [...]" would be really nice
21:25:48 <acbd> please keep in mind that you might be some die-hard nikola user - but this is mean *in general*
21:25:53 <acbd> *meant
21:26:25 <[Tritium]> What could be a deprecated option to nikola core, could be a valid config variable for a plugin
21:27:15 <acbd> ... this does not speak agains adding said string - currently nikola actually does give deprecation warnings (!)
21:33:46 <[Tritium]> acbd: those warnings only exist for variables that are still being honored ... and annoy you whenever you run nikola.  Thats still valid and up to date config...
21:36:24 <acbd> that's nice and all, but it still doesn't tell a not-that-experienced user that there are new options and it might be a wise idea to get an up-to-date conf.py from somewhere and integrate them
21:39:17 <[Tritium]> Thats hard to do, since the defined behavior for "Just give me the default for that option" is to comment it out (which is effectivly erasing it from existance.)
21:40:39 <[Tritium]> This is poweruser software, at some point "read the changelog before you upgrade" has to be the default answer to that
21:41:13 <acbd> ... and doxygen is for noobs? o.O
21:41:42 <[Tritium]> doxygen isnt configured by a turing complete programing language.
21:44:10 <acbd> oh, well ... as a side note you might be (dis-)interested in the fact that rst's container directive adds a container class to the div it generates, which clashes with bootstrap's css (and messes up the layout)
21:44:31 <[Tritium]> That sounds like a bug
21:44:35 <acbd> ... which you might understandably not be able to fix
21:45:49 <[Tritium]> Cant do much about that without an lxml pass over the output
21:52:37 <acbd> one more thing wrt the docs: https://getnikola.com/creating-a-site-not-a-blog-with-nikola.html contains "The -p option in the nikola new_post command means we are creating a page and not a blog post." which does look like a leftover from an earlier version
21:55:34 <[Tritium]> it is
21:58:36 -GitHub[nikola]:#nikola- [nikola] tritium21 opened pull request #2386: leftover from new_post -p (master...patch-1) https://git.io/voAVn
22:00:23 <acbd> thanks :)
22:03:19 <[Tritium]> By the way, ChrisWarrick or ralsina might LOVE your ideas, I'm not in charge of the project.
22:03:30 <acbd> yes, that's what i hope :D
22:03:45 <acbd> especially since i just read this nice "DON'T READ THIS MANUAL. IF YOU NEED TO READ IT I FAILED, JUST USE THE THING." in the docs again
22:04:47 <[Tritium]> That is quite tongue in cheek.  The defaults work for most people.  You are actually wanting to change the defaults... most of which is stuff you can easily do in your own site...
22:05:57 <[Tritium]> I mean, how would you know you could embed soundcloud without reading the manual?  there are things you actually need to read the docs to be able to use
22:06:27 <acbd> yeah, of course
22:07:10 <acbd> but improving the out-of-the-box experience (especially when it's trivial and fixes inconsistency like with the .. type: thing) can't hurt
22:32:31 <acbd> ... some pondering later:
22:32:34 <acbd> * a downside of .page-something might be more users making use of .. type: other than text/micro and thus potential clashes with future nikola post/page types
22:35:27 <acbd> (maybe instead add a note to the docs that people should use .. template: (or whatever) for instead of .. type:)
22:37:20 <acbd> * conf.py out-of-date notices might be trivial (simply add version=(x, y, z) at the top and check that) if a user only modifies the existing options' values, but probably gets messy/is not worth the effort otherwise)
22:43:15 <acbd> bye
23:05:00 <acbd> just found: menu dropdown headers and dividers are possible with bootstrap 3 - see https://getbootstrap.com/examples/navbar-fixed-top/ - this would be a nice compromise if you don't want to add another menu nesting level (and preferable for bootstrap3 users since they could also use it)
23:52:44 <ralsina> @kwbot help
23:53:00 <ralsina> KwBot: help
23:53:00 <KwBot> ralsina: This is KwBot.  https://chriswarrick.com/kwbot/
23:53:57 <ralsina> KwBot: tell acbd Thanks for all the ideas, hope to catch up with you to discuss them further! You can also start feature requests in our issue tracker
23:53:57 <KwBot> ralsina: acknowledged.