Merge branch 'master' of ssh://
authorJoey Hess <>
Fri, 13 Jun 2014 14:09:44 +0000 (10:09 -0400)
committerJoey Hess <>
Fri, 13 Jun 2014 14:09:44 +0000 (10:09 -0400)
doc/bugs/FormattingHelp_links_to_MarkDown_help_page_regardless_of_page_format.mdwn [new file with mode: 0644]
doc/plugins/contrib/datetime_cmp.mdwn [new file with mode: 0644]
doc/users/kjs.mdwn [new file with mode: 0644]

diff --git a/doc/bugs/FormattingHelp_links_to_MarkDown_help_page_regardless_of_page_format.mdwn b/doc/bugs/FormattingHelp_links_to_MarkDown_help_page_regardless_of_page_format.mdwn
new file mode 100644 (file)
index 0000000..04e7e90
--- /dev/null
@@ -0,0 +1,3 @@
+The `FormattingHelp` link in the edit form of any page points to the same [ikiwiki/formatting](/ikiwiki/formatting) help text for Markdown, regardless of page type (which could be HTML, reStructuredText, etc.)  On the wiki I run, this is confusing users.  
+What I would like is that either the `FormattingHelp` link changes with page type (requires Javascript, if one is going to change the page type for new pages), or that the [ikiwiki/formatting](/ikiwiki/formatting) page is an index of supported page types with a further link to help text for each one (less user-friendly but likely easier to implement).
index 8e5c5b5a79639bb4e6978db19720c092aea6cb84..0b8c7b1a532eee3b74e533be1a94c7965e33f1ed 100644 (file)
@@ -593,3 +593,38 @@ What would be good is if the album directive could have a "show" parameter which
 > An optional `show` parameter would be a possible enhancement beyond that,
 > although I don't know how useful it would be; if it isn't passed, the
 > default should be 0 (unlimited). --[[smcv]]
+## bug?: all albums and pages become interdependent 
+*(ikiwiki master branch 2014-06-06 and smcv album4 branch)*
+On a site with the following structure where all album$n.mdwn files have the ``[[!album]]`` directive set. All albums and albumviewers get rebuilt whenever any one of the pages is touched and the command ``ikiwiki --setup debug.setup --refresh --verbose`` is issued.
+    /index.mdwn
+    |-album01.mdwn
+    |-album01/
+    | |-imgA.jpg
+    | |-imgB.jpg
+    |
+    |-album02.mdwn
+    |-album02/
+    | |-imgC.jpg
+    | |-imgD.jpg
+    |
+    |-album03.mdwn
+    |-album03/
+    | |-imgE.jpg
+    | |-imgF.jpg
+This happens even if the indexpage has no links and when the tree is one level deeper than above with a folder between the index and each ``album$0n`` tuple. Touching index.mdwn rebuilds for instance imgF viewer and output like for example the following as a result of changing ``album01.mdwn`` and issuing ``ikiwiki --setup debug.setup --refresh --verbose``
+    building album02/imgC, its previous or next page has changed
+    building album03/imgE, its previous or next page has changed
+    building album02.mdwn, which depends on album02/imgC
+In other words using the album plugin means all changes trigger full rebuilds (as far as I can tell). With my workflow this hasn't been much of an issue as my sites are static and updated maximum once a week but it does make comments unfeasible.
+Perhaps there is something in my setup that triggers this problem? If anyone has an ikiwiki album installation where ``--refresh`` limits the scope of the rebuild to just one album I'd be interested to hear. See <> for an live website that has this problem. I've tested a simpler debug site without any customization as well. --[[kjs]]
index ce920d9137cfa329fe9defc9bf90fc3cc4683e6d..09d2d52fcc98b4be68f85ebb1b0118f47d915d9c 100644 (file)
@@ -1,7 +1,14 @@
-[[!template id=plugin name=created_in_future author="[[Louis|spalax]]"]]
+[[!template id=plugin name="created_in_future (deprecated)" author="[[Louis|spalax]]"]]
 # Created_in_future
+This plugin is deprecated, and can be replaced by function `cdate_geq_today()` in plugin [[datetime_cmp|plugins/contrib/datetime_cmp]].
+[[!toggle id=old text="Show/Hide old documentation"]]
+[[!toggleable id=old text="""
+# Created_in_future
 This plugin provides a `created_in_future()` [[PageSpec|ikiwiki/pagespec/]]
 function. It matches pages which have a creation date in the future.
@@ -18,3 +25,4 @@ It can be used to display a list of upcoming events.
 ## Code
 Code and documentation this way: [[]].
diff --git a/doc/plugins/contrib/datetime_cmp.mdwn b/doc/plugins/contrib/datetime_cmp.mdwn
new file mode 100644 (file)
index 0000000..7508e0b
--- /dev/null
@@ -0,0 +1,85 @@
+[[!template id=plugin name=datetime_cmp author="[[Louis|spalax]]"]]
+[[!tag type/pagespec]]
+# Datetime_cmp
+This plugin provides a family of
+[pagespec]( matching pages according to
+creation or modification times.
+It also sets the date of the next modification of the page on relevant date, so
+that the page will be rebuilt if the condition changes.
+## List of functions
+The list of functions is given by the following regexp:
+    [ct](date|time)_(lt|gt|leq|geq|eq|neq)_(abs|page|now|today)(|_delta)
+  * `[ct]`: compare creation or modification time or date:
+    * `c`reation time;
+    * `m`odification time.
+  * `(date|time)`: compare full date and time, or only date (useful when time is irrelevant):
+    * `time`: compare full date and time;
+    * `date`: compare only date.
+  * `(lt|gt|leq|geq|eq|neq)`: operator of comparison:
+    * `lt`: less than;
+    * `gt`: greater than;
+    * `leq`: less or equal than;
+    * `geq`: greater or equal than;
+    * `eq`: equal;
+    * `neq`: not equal.
+  * `(abs|page|now|today)`: element to compare to:
+    * `abs`: absolute date or time (given in argument);
+    * `page`: other page (given in argument);
+    * `now`: date or time of compilation;
+    * `today`: same meaning as `now`.
+  * `(|_delta)`: used to add a time delta (to use comparisons such as *created at least two day after `some_page`*):
+    * *empty*: no delta;
+    * `_delta`: delta (given in argument).
+### Number of arguments
+[[!table header=no data="""
+         | `now` `today`  | `page`            | `abs`
+no delta | *no arguments* | `pagename`        | `date`
+delta    | `delta`        | `pagename, delta` | `date, delta`
+### Format of arguments
+* *date* or *time*: anything that can be recognized by perl [[str2time|]] function, *without any comma*.
+* *delta*: One of the following patterns:
+  * `Y-M-D`: positive date;
+  * `H:M:S`: positive time;
+  * `Y-M-D H:M:S`: positive date and time;
+  * Add `-` at the beginning of the string to make durations negative.
+* several arguments: when two arguments are provided, they are passed as one string, which is then split according to the last comma.
+## Time zones
+Key `timezone` in the setup file is used to define time zone. If not set, we
+try to guess the local time zone.
+## Examples
+### Some functions
+* `ctime_gt_page(foo)`: match pages created after page `foo`.
+* `cdate_eq_today()`: match pages created the day the wiki is compiled.
+* `mtime_eq_now()`: match pages modified the time the wiki is compiled (likely no page, since comparison is done up to the milisecond).
+* `cdate_geq_page_delta(foo, 00-00-01)`: match pages created at least one day after page `foo`.
+* `cdate_gt_page(foo)`: same as the previous one.
+* `mdate_gt_today_delta(-00-01-00)`: match pages modified one month ago, or later (can be used to display recent changes).
+### Use case
+It can be used to display a list of upcoming events.
+       \[[!inline pages="events/* and cdate_geq_today()" reverse=yes sorted=meta(date)]]
+## Code
+Code and documentation this way: [[]].
index 11ed33fd6f06d70e3bc4dd2232a26540ed1c9573..562802b4eda42a150e6720d7c53b3f7477412e7d 100644 (file)
@@ -1,12 +1,10 @@
-Hello, welcome to my page.
 There isn't much to say, I'm just a person of the common kind,
-trying to make this world a bit better for the next generations :-)
+trying to make this world a bit better for the next generations.
-As part of my personal tiny fight for privacy and freedom of speech,
-I launched my website via I2P and Tor only. This will probably change soon,
-because there's a non-centralized cooperative way to use DNS, but
-for now that's all there is. My source code is there too.
+I run a website, you're welcome to visit.
-* Tor: <http://75dae7c76okcrloz.onion>
+* Clearnet: <http://www.partager.null> (requires [OpenNIC])
 * I2P: <http://partager.i2p>
+* Tor: <http://75dae7c76okcrloz.onion>
diff --git a/doc/users/kjs.mdwn b/doc/users/kjs.mdwn
new file mode 100644 (file)
index 0000000..cfe13c6
--- /dev/null
@@ -0,0 +1,8 @@
+## Kalle Söderman
+Websites using ikiwiki: 
+* <>
+* <>
+Mostly using ikiwiki with the [[/plugins/contrib/album/]] and [[plugins/osm]] plugins.