]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/todo/calendar_autocreate.mdwn
Review request
[ikiwiki.git] / doc / todo / calendar_autocreate.mdwn
index 26466bca6e3e3d29b16b7da0bc032f4457c79cec..02659d0d1825d618a530da88f1f4f967e1bda97e 100644 (file)
@@ -23,6 +23,31 @@ won't be offended if you correct stuff you consider awkward):
 > them by default - I'd prefer to avoid cluttering git history with generated
 > pages. (Indeed, should the option even exist?)
 >
 > them by default - I'd prefer to avoid cluttering git history with generated
 > pages. (Indeed, should the option even exist?)
 >
+> > I copied those options from the [[plugins/tag]] plugin: the
+> > `tag_autocreate_commit` option exists and default to 1.
+> >
+> > It should definitely exists: suppose a calendar page is created and not
+> > commited, and later, someone tries to push some changes where a page with
+> > the same name has been created. This would result in a conflict. The
+> > `calendar_autocreate_commit` prevents this.
+>
+> > > `tag_autocreate_commit` exists because when tag autocreation
+> > > was introduced, they were always in the `$srcdir` and committed.
+> > > I changed it so that it was possible to put them in the [[plugins/transient]]
+> > > underlay and not commit them. It defaults to 1 to preserve existing
+> > > functionality.
+> > >
+> > > When automatic tag pages (or autoindex pages) are not committed, they
+> > > go in the transient underlay, which means they can't cause conflicts:
+> > > independent page creation will simply mask them (a page in the
+> > > `$srcdir` hides a page of the same name in an underlay). I thought
+> > > this implementation did the same when not committing? --[[smcv]]
+>
+> > > > I did not realize how easy it was to use the [[plugins/transient]]
+> > > > plugin! I [[took it into
+> > > > account|https://github.com/paternal/ikiwiki/commit/492a22ac75f8b41a427a98c44525b01a6fd181b5]].
+> > > > -- [[Louis|spalax]]
+>
 > I'd personally do the conditional in gencalendaryear more like:
 >
 > [[!format perl """
 > I'd personally do the conditional in gencalendaryear more like:
 >
 > [[!format perl """
@@ -31,6 +56,8 @@ return unless $config{calendar_autocreate};
 >
 > to reduce the indentation depth of the more interesting code.
 >
 >
 > to reduce the indentation depth of the more interesting code.
 >
+> > [[I agree|https://github.com/paternal/ikiwiki/commit/7f18c1ce48630507b744fa56b83999e8ca684606]]
+>
 > The recursion to generate missing years:
 >
 > [[!format perl """
 > The recursion to generate missing years:
 >
 > [[!format perl """
@@ -89,11 +116,25 @@ sub gencalendaryear {
 }
 """]]
 >
 }
 """]]
 >
+>
+> > [[I agree|https://github.com/paternal/ikiwiki/commit/7f18c1ce48630507b744fa56b83999e8ca684606]]
+>
 > I'm not sure about generating missing years at all, though: if the
 > generation is entirely dynamic, and there were no posts at all during
 > a particular year (or month for that matter), shouldn't we just skip
 > the year/month? That seems to be what e.g. Wordpress does.
 >
 > I'm not sure about generating missing years at all, though: if the
 > generation is entirely dynamic, and there were no posts at all during
 > a particular year (or month for that matter), shouldn't we just skip
 > the year/month? That seems to be what e.g. Wordpress does.
 >
+> > [[Done|https://github.com/paternal/ikiwiki/commit/59b46942e01b32138d056381249effbbaf773892]].
+> > I added an option `calendar_fill_gaps` to chose between the two
+> > alternatives (since skipping empty months and years would change the
+> > default behaviour of this plugin).
+> >
+> > I think the code is a bit ugly at some places. Perl is not one the the
+> > programming languages I am fluent into. Sorry.
+> >
+> > PS: Good idea, thought. I now have to implement a similar thing for
+> > [[plugins/contrib/jscalendar]].
+>
 > This piece of ikiwiki-calendar functionality is lost:
 >
 > [[!format diff """
 > This piece of ikiwiki-calendar functionality is lost:
 >
 > [[!format diff """
@@ -108,6 +149,20 @@ sub gencalendaryear {
 > highlight for today (although I'm not sure how best to implement that -
 > perhaps a config option representing "I am going to use ikiwiki-calendar").
 >
 > highlight for today (although I'm not sure how best to implement that -
 > perhaps a config option representing "I am going to use ikiwiki-calendar").
 >
+> > This is not lost. What ikiwiki-calendar do is simply: build the missing
+> > `archive/year/month` pages, and run `ikiwiki -refresh`. With my patch, the
+> > `ikiwiki -refresh` includes:
+> >
+> > - the build of missing `archive/year/month` pages;
+> > - highlighting the current day (this was already the case).
+> >
+> > So one can simply drop the `ikiwiki-calendar ...` for `ikiwiki --refresh
+> > ...` in cron to get the same result.
+> >
+> > I
+> > [[tried|https://github.com/paternal/ikiwiki/commit/7a92444e56fe023cea3b074dc5e6b5c4acdb6114]]
+> > to make the documentation clearer.
+>
 > [[!format diff """
 -\[[!template id=plugin name=calendar author="\[[ManojSrivastava]]"]]
 -\[[!tag type/widget]]
 > [[!format diff """
 -\[[!template id=plugin name=calendar author="\[[ManojSrivastava]]"]]
 -\[[!tag type/widget]]
@@ -116,4 +171,13 @@ sub gencalendaryear {
 > Why did you remove that? It's useful information about the plugin
 > which I think ought to stay.
 >
 > Why did you remove that? It's useful information about the plugin
 > which I think ought to stay.
 >
+> > Oops! It was a mistake.
+> > [[Corrected|https://github.com/paternal/ikiwiki/commit/de9842ecc8914e11e73148dae78cd6909b535262]].
+>
 > --[[smcv]]
 > --[[smcv]]
+>
+> > Thank you for this review. -- [[Louis|spalax]]
+
+---
+
+[[smcv]], can you please go on reviewing this?