Merge branch 'master' of ssh://git.ikiwiki.info

master
Joey Hess 2014-06-13 10:09:44 -04:00
commit 9f103f672f
6 changed files with 146 additions and 9 deletions

View File

@ -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).

View 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 <http://img.kalleswork.net> for an live website that has this problem. I've tested a simpler debug site without any customization as well. --[[kjs]]

View 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: [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Created_in_future]].
"""]]

View File

@ -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](http://ikiwiki.info/ikiwiki/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)
where:
* `[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|http://search.cpan.org/~rse/lcwa-1.0.0/lib/lwp/lib/HTTP/Date.pm]] 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: [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/datetime_cmp]].

View 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>
[OpenNIC]: https://www.opennicproject.org/

View File

@ -0,0 +1,8 @@
## Kalle Söderman
Websites using ikiwiki:
* <http://img.kalleswork.net>
* <http://stockholm.kalleswork.net>
Mostly using ikiwiki with the [[/plugins/contrib/album/]] and [[plugins/osm]] plugins.