Commit Graph

267 Commits (d3df4c133c5ee2e949f1af794d4777b3e33fe6d1)

Author SHA1 Message Date
joey dae0f48e91 * Work on firming up the plugin interface:
- Plugins should not need to load IkiWiki::Render to get commonly
    used functions, so moved some functions from there to IkiWiki.
  - Picked out the set of functions and variables that most plugins
    use, documented them, and made IkiWiki export them by default,
    like a proper perl module should.
  - Use the other functions at your own risk.
  - This is not quite complete, I still have to decide whether to
    export some other things.
* Changed all plugins included in ikiwiki to not use "IkiWiki::" when
  referring to stuff now exported by the IkiWiki module.
* Anyone with a third-party ikiwiki plugin is strongly enrouraged
  to make like changes to it and avoid use of non-exported symboles from
  "IkiWiki::".
* Link debian/changelog and debian/news to NEWS and CHANGELOG.
* Support hyperestradier version 1.4.2, which adds a new required phraseform
  setting.
2006-09-09 22:50:27 +00:00
joey d92142d09e add 2006-09-09 07:13:21 +00:00
joey aa2b3b8f63 * Add a googlecalendar plugin. A bit special-purpose, but it shows
one way to to deal with user-supplied content that could cause XSS
  issues w/o the htmlscrubber, and won't survive the scrubber.
2006-09-09 07:11:51 +00:00
joey 516eaeafbd web commit by joey 2006-09-07 15:42:01 +00:00
joey cd5f2eadd9 web commit by joey 2006-09-07 15:39:05 +00:00
joey e7ff9acf86 web commit by joey 2006-09-07 15:38:02 +00:00
joey 3e9a6a7d4f size limits 2006-09-07 06:58:27 +00:00
joey d772d2d3b2 web commit by joey 2006-09-07 05:46:38 +00:00
joey 68a8d7b1cc typo 2006-09-07 05:34:48 +00:00
joey eff2ddbe9a * Add a linkmap plugin (requires graphviz). 2006-09-07 05:31:01 +00:00
joey 7abcfe429a note that expire options are not yet implemented 2006-09-02 02:28:33 +00:00
joey 1aeb64e148 * Patch from James Westby to add an actions option to inline; this
adds Edit and Discussion links at the end of blog entries.
2006-08-28 19:43:07 +00:00
joey 4895955cea * Change htmlize, format, and sanitize hooks to use named parameters. 2006-08-28 18:17:59 +00:00
joey e16746a52f * Add toc (table of contents) plugin. 2006-08-28 07:40:20 +00:00
joey e0fdfd09bb add 2006-08-27 05:08:49 +00:00
joey a61d531edb * Added a ddate plugin. 2006-08-27 03:55:45 +00:00
joey 38ce4c3cef * Patch from James Westby to allow a description to be set for rss feeds. 2006-08-26 17:36:46 +00:00
joey 3c378ff6e7 update 2006-08-23 20:28:08 +00:00
joey 8f8959c96e no longer need triple quotes 2006-08-23 20:27:18 +00:00
joey d4ca3b3f50 * Change order of linkify and preprocess; first preprocess and then linkify.
This allows passing a wikilink inside a parameter to a preprocessor
  directive without it being expanded to html, and leaking out of the
  parameter, which had required some non-obvious use of triple-quoting
  to avoid. Note that any preprocessor plugins that output something
  that looks like a wikilink will now have it treated as such; AFAIK
  this doesn't change any behavior though except for the template plugin.
* Enable preprocessor directives when previewing an edit.
2006-08-23 20:23:57 +00:00
joey 1f085aa76d applied patch 2006-08-23 18:43:19 +00:00
www-data 5085ae1360 web commit by JordaPolo: Reply to comments; fix my name. 2006-08-23 17:13:57 +00:00
joey 9d7375c3b2 * Allow preprocessor directives to contain python-like triple-quoted
text blocks, for easy nesting of quotes inside.
* Add a template plugin.
* Use the template plugin to add infoboxes to each plugin page listing basic
  info about the plugin.
2006-08-23 05:41:07 +00:00
joey 63c79e7f5b add a missing closing ] on example directive 2006-08-23 03:21:55 +00:00
joey b7e28ae022 reorganise, include preprocess in the right order 2006-08-23 01:54:40 +00:00
joey 43f2ba5def revert broken parentlinks fix, which was broken, explain why
add plugins/contrib page to avoid broken link on this wiki
2006-08-22 17:54:10 +00:00
www-data 1e0c6758c1 web commit by joey: comments 2006-08-21 21:45:54 +00:00
www-data abae4a8058 web commit by JordaPolo: Fixed preformatted text. 2006-08-21 18:35:03 +00:00
www-data ad07eebb0b web commit by JordaPolo: Added linguas plugin. 2006-08-21 18:29:28 +00:00
joey cb60d16bb4 clarify 2006-08-19 05:26:02 +00:00
joey 63edea27bc * Add first draft at a Restructured Text (rst) plugin, by Sergio
Talens-Oliag. Note that this has many known issues -- see the caveats on
  the plugin's page.
* Credit everyone who wrote a plugin on the plugins' wiki pages.
2006-08-19 05:05:02 +00:00
joey 01dfa1d4ac clarify 2006-08-18 22:23:34 +00:00
joey 7f58a84dea * Add otl format plugin, which handles files as created by vimoutliner. 2006-08-18 21:48:03 +00:00
joey 05a298c473 clarification 2006-08-18 21:33:09 +00:00
joey 6f6495d7a6 remove maxdepth, it can be accomplished by pagespec like ".. and !*/*/*/*" 2006-08-18 16:45:28 +00:00
joey 2eac55e90e * Add a map plugin contributed by Alessandro Dotti Contra. 2006-08-18 16:18:45 +00:00
joey 2f0d94c80b updates 2006-08-18 06:21:59 +00:00
joey c6ee9cbf45 * Support inlining pages raw, rather than creating a blog.
* Clean up yes/no parameter parsing in inline plugin.
* Implemented better cycle detection in the inline plugin; nested inlines
  will now work.
2006-08-18 03:56:18 +00:00
joey 3fe48bcf83 note on disabling sidebar 2006-08-18 00:35:04 +00:00
joey cedb48765b * Add a tail fin^W^Wsidebar plugin by Tuomo Valkonen.
* If a page links to itself, mark up the link text in a span with
  class="selflink" so that it can be styled. I don't have a useful style
  defined for that though.
2006-08-18 00:24:22 +00:00
www-data 3ced1551bb web commit by JonasSmedegaard: Correct typo: perminent -> permanent. 2006-08-14 20:44:19 +00:00
joey d39717a1cb * If the meta plugin overides the page title, set a title_overridden
variable in the template to true. This allows doing things with the
  templates conditional on the title being overriden.
2006-08-12 17:51:32 +00:00
joey cade16fbb6 * Improve markdown loading. First, try to load it as a properl perl module,
in case it was installed as one. Then fall back to trying
  /usr/bin/markdown.
* Document in install page how to install markdown, since it has no
  installation procedure in the upstream tarball.
2006-08-10 04:11:58 +00:00
joey 831190e1f3 tone back claims of what tidy can do, it's not perfect 2006-08-04 07:45:02 +00:00
joey 0708bb8aec * Don't run tidy with -xml as that fails if the input is not well-formed.
Run it with -asxhtml instead, so it will output well-formed xhtml no
  matter what the input.
* Disable tidy warnings too.
* Add a new format hook, and make tidy use it, since tidy can really only
  operate on and output complete html documents, not the body chunks
  that sanitise gets.
2006-08-04 07:41:02 +00:00
joey 91e416b5f3 * Also generate rel=bookmark links for permalinks. 2006-08-04 04:29:18 +00:00
joey c5919df5f3 * Make aggregator save permalinks and author name to pages as metadata.
* Add permalink and author support to meta plugin, affecting RSS feeds
  and blog pages.
* Change titlepage() to encode utf-8 alnum characters. This is necessary
  to avoid UTF-8 creeping into filenames in urls. (There are still
  some other ways that it can get in.)
2006-08-04 00:01:51 +00:00
joey 9dbe10e3f0 more slashery 2006-08-03 16:59:46 +00:00
joey 2794d7ef5a * Renamed GlobLists to PageSpecs.
* PageSpecs can now include nested parens, "and", and "or". This remains
  backwards compatible to the old GlobList format. It's implemented by
  treating the GlobList as a very limited microlanguage that is transformed
  to perl code that does the matching.
* The old GlobList format is deprecated, and I encourage users to switch to
  using the new PageSpec format. Compatability with the old format will be
  removed at some point, possibly by 2.0.
* Wiki rebuild needed on upgrade to this version due to PageSpec change.
* Add support for creation_month and creation_year to PageSpec.
  Closes: #380680
* Changes to index file encoding.
2006-08-02 00:14:31 +00:00
joey 8883001615 * Change meta tags to use html entity-escaped text for values, so that
quotes and such can be represented in title tags.
* Depend and build-depend on HTML::Parser for HTML::Entities which is used
  for the above.
* Make --rebuild also cause --aggregate to re-download and write aggregated
  pages.
* Avoid outputting duplicate meta info.
* Include title metadata on aggregated posts for capitalised and un-munged
  titles.
2006-07-30 22:58:48 +00:00
joey 1d0f4b665c fix 2006-07-30 06:15:04 +00:00
joey c5b02885e9 fixes, and make dir optional 2006-07-30 05:14:35 +00:00
joey e49ff966a3 * ikiwiki can now download and aggregate feeds with its new aggregate
plugin, so it's possible to implement a Planet using ikiwiki!
* --setup --refresh no longer rebuilds wrappers. Use --setup --refresh
  --wrappers to do that.
* Add %IkiWiki::forcerebuild to provide a way for plugins like aggregate
  to update pages that haven't changed on disk.
2006-07-30 04:31:08 +00:00
joey ab75c0323b * Add a run_hooks function for the common task of running all hooks of a
given type.
* Add a savestate hook.
* Don't put blog post forms on pages if there's no cgiurl set.
* Reformat front page.
2006-07-30 00:20:11 +00:00
joey becacc5566 updats 2006-07-29 22:25:40 +00:00
joey 65ab5b372e add type pages 2006-07-29 22:17:07 +00:00
joey 7f1313c052 * Tag plugins according to type. 2006-07-29 22:15:45 +00:00
joey d9633de2ce * fortune plugin (trivial) 2006-07-29 21:53:57 +00:00
joey fe64ddb62e right paper 2006-07-29 21:27:09 +00:00
joey 48f9d39339 * htmltidy plugin from Faidon. 2006-07-29 20:50:20 +00:00
joey 5de2cff378 remove this, pagestats is too slow and it was mostly for testing 2006-07-29 20:38:46 +00:00
joey 299bb8bef3 more links 2006-07-29 20:14:07 +00:00
joey 35c90a5b58 "Viva l'Italia!"
* Polygen plugin from Enrico.
2006-07-29 20:01:29 +00:00
joey d76c73eb86 * New pagestats plugin from Enrico, which can generate a table counting
the backlinks for each page, or a del.icio.us style cloud.
2006-07-29 17:44:41 +00:00
joey 267f98e2e1 * Put categories in rss feeds for tagged items. 2006-07-29 07:25:17 +00:00
joey 201e681d34 improve 2006-07-28 05:36:37 +00:00
joey 409e62021c * Add getopt hook type, this allows plugins to add new command-line options.
* Add --tagbase option to tag plugin.
2006-07-28 05:26:49 +00:00
joey 51d20d72f6 small improvements 2006-07-28 04:43:45 +00:00
joey 6e90f18cb7 don't need double-escape on indented literal text as markdown doesn't mess
with it
2006-07-28 00:33:57 +00:00
joey 8fd9c9accb Hope encrico doesn't mind, but I changed the location and layout of the
tags on the templates. This way seems to fit better with the links. Also
some css cleanup, avoid hardcoded <i> etc.
2006-07-28 00:21:13 +00:00
joey 22df49a2bf more destpage improvements 2006-07-27 23:47:13 +00:00
joey dea23a1031 * Switch pagetemplate hooks to using named parameters.
* Pass a "destpage" parameter to preprocessor and pagetemplate hooks.
  This will be the page that a source page will be part of, which is
  different than the source page for inlined pages.
* Audited all plugins to endure they pass page, destpage to htmllink
  appropriatly. This means inlining of various plugins will not work
  properly, with correct links generated.
2006-07-27 23:41:58 +00:00
www-data 23868a2f79 web commit by JonasSmedegaard: Small typo: "a a" -> "as a" 2006-07-27 23:08:47 +00:00
joey 20eacc2c1f - Adds a tag plugin that allows more easily tagging pages.
The meta plugin can also still be used for that, but the tag plugin
    also lists a page's tags at the bottom of the page.
  - Allows preprocessor directives to have parameters with no specified
    value.
  - Fixes preprocessor directive parameter parsing so that
    foo=bar baz now means "foo=bar" and a "baz" with no value.
* Run pagetemplate hooks when inlining pages so that inlines pages also
  list their tags.
* Make all plugins with pagetemplate hooks check that variables exist
  on the template before setting them.
2006-07-27 23:08:03 +00:00
joey 5017ffd8a5 * Patch from Enrico that
- allows preprocessor directives to have parameters with no specified
    value
  - fixes preprocessor directive parameter parsing so that
    foo=bar baz now means "foo=bar" and a "baz" with no value
  - Add a tag plugin that allows more easily tagging pages.
    The meta plugin can also still be used for this.
2006-07-27 21:38:02 +00:00
joey d4b28d58c4 fix 2006-07-26 21:58:13 +00:00
joey f4d651933f fix 2006-07-26 21:57:13 +00:00
joey d9c118dbf1 * Run page through any relevant filters when generating a page preview.
* Noticed a bug in the wikitext markup plugin -- it made CamelCase links the
  default throughout the wiki, not only on wikitext pages. Decided to call
  this a feature, and split the camelcase support out into a separate plugin
  that is independant of wikitext.
2006-07-26 21:54:44 +00:00
joey 0f22d66c96 * Add wikitext markup plugin, which supports ".wiki" pages written in the
original wiki syntax, CamelCase links and all.
2006-07-07 18:28:27 +00:00
joey d7dc7f699b fix 2006-07-03 22:37:32 +00:00
joey 08890fdd7f misc updated 2006-07-03 22:35:30 +00:00
joey 8d4c474f3b * Add a html plugin, which can be used to write wikis in raw html,
if you'd ever want to do such a thing. Slightly tricky, since ikiwiki
  defaults to not processing .html files, since w/o this plugin they would
  be copied unsanitised. With this plugin, it will process, and html
  sanitise, them like any other page type.
2006-07-03 22:31:20 +00:00
joey 6551c1e560 * Support htmlize plugins and make mdwn one such plugin, which is enabled by
default (of course!). Based on a patch by Faidon Liambotis.
2006-07-03 22:08:04 +00:00
joey 5454186939 meta headers are not sanitised; prevent html leaking into them 2006-06-02 06:11:22 +00:00
joey d534483b9b * Reorganised the doc wiki's todo/* pages, using a link/tag to flag
* Allow pagetemplate plugins to override *anything* in the template.
* Add a meta plugin, which allows specifying various metadata about pages,
  like license and author. It also allows for inserting html link and meta
  tags into html, overriding the title, and adding hidden WikiLinks, which
  can be useful when using link-based globbing for page categorisation.
* Remove preprocessor directives from inlined pages.
* Allow simple preprocessor directive values to be specified w/o quotes.
2006-06-02 04:49:12 +00:00
joey 65d0aee407 * --getctime had bitrotted (well I only ever used it the once so far..),
* When inlining a page in another one, links from the inlined page are now
  expanded the same as they are when rendering the inlined page as a
  standalone page. So rather than being expanded from the POV of the
  inlining page, they are expanded from the POV of the inlined page.
  For example, a link from blog/foo to "bar" will now link to blog/bar
  if it exists. Previously this needed to be a link explicitly to 
  "blog/bar"; such links will also continue to work.
  (This was slightly complex to do as the link still has to be constructed
  relative to the inlining page.)
2006-05-26 16:11:53 +00:00
joey 5466a1daf9 * The page name and parent links has switched from using a <h1> to a styled
<span>, so pages can use <h1> internally instead of needing to use <h2>.
* Updated all of ikiwiki's own wiki pages for that.
* Add pagetemplate hook, which can be used by plugins that want to mess
  around with adding new stuff to the page template.
* Remove headercontent; the search plugin now adds the search box to the
  header by registering a pagetemplate hook, and other plugins should do
  similarly.
2006-05-26 01:10:58 +00:00
joey 75348182fc use right name for search plugin 2006-05-25 21:52:03 +00:00
www-data b5a9e50ed9 web commit by joey 2006-05-05 20:30:54 +00:00
joey 6652de5e1a * Removed --sanitize and --no-sanitize, replaced with --plugin htmlscrubber
and --disable-plugin htmlscrubber.
2006-05-05 05:41:11 +00:00
joey 157df8591f rename the "render" hook to "change", which is clearer 2006-05-05 05:10:00 +00:00
www-data 13f8a835a0 web commit by joey 2006-05-05 04:44:09 +00:00
www-data 2455fcff03 web commit by joey 2006-05-05 04:43:41 +00:00
www-data bdc71f5734 web commit by joey 2006-05-05 04:41:31 +00:00
joey a59b1ac8d8 haiku plugin 2006-05-05 04:15:47 +00:00
joey 253c4a9acc link updates 2006-05-04 14:59:30 +00:00
joey be56970d05 * Added smiley plugin, nicely controlled and documented by the smileys page.
* Copied in some smileys from Moin Moin.
2006-05-04 04:29:37 +00:00
www-data a5c9c68da3 web commit by joey 2006-05-03 22:47:34 +00:00
www-data ea08b909d8 web commit by joey 2006-05-03 22:42:19 +00:00
www-data bcc6cd8f73 web commit by joey 2006-05-03 22:41:42 +00:00
www-data 3a98572da8 web commit by joey 2006-05-03 22:41:20 +00:00
joey af9566ff1a rather a lot of changes to make hyperestraier search be a plugin, allowing
for other types of search engine plugins if wanted, and also opening up a
lot of new possibilities for other kinds of plugins later

some notable changes along the way:

- lots of new hook types: cgi, render, delete
- wrapper files fixed to support config strings with newlines in them
- HEADERCONTENT in page template useful for plugins. Probably needs to be
  expanded to more such for other places plugins might want to add content.
- remove unnecessary wrappers field from config info stored in wrappers
2006-05-03 21:50:39 +00:00
www-data b0952742b2 web commit by joey 2006-05-03 21:04:17 +00:00
www-data e64ef95dfc web commit by joey 2006-05-03 21:03:35 +00:00
www-data 92ffe3446f web commit by joey 2006-05-03 20:46:14 +00:00
www-data 5d887948f9 web commit by joey 2006-05-03 20:45:10 +00:00
www-data 3900abf314 web commit by joey 2006-05-03 20:43:55 +00:00
www-data 1478bab0cd web commit by joey 2006-05-03 20:31:16 +00:00
www-data 40d739caba web commit by joey: change to plugin interface 2006-05-03 20:07:02 +00:00
joey 12422e9890 * Patch from Thomas Schwinge to switch from --svn to --rcs=svn, etc,
to pave the way for adding other RCS support. This also changes the
  setup files, where before they had svn => 1 or svn => 0, now they have
  rcs => "svn" or rcs => "".
* Add a debian/NEWS file with upgrade notes.
* Load whatever rcs module is specified, so new ones can be just dropped in
  as plugins and work.
* Add some basic docs about writing RCS modules.
2006-05-02 18:44:39 +00:00
www-data ec5ddd9a4f web commit by joey 2006-05-02 06:27:16 +00:00
www-data bfead4a004 web commit by joey 2006-05-02 06:26:55 +00:00
www-data a0d372751a web commit by joey 2006-05-02 06:26:08 +00:00
www-data 63f2eddaa4 web commit by joey 2006-05-02 06:24:38 +00:00
joey 99292550fd * Add an orphans plugin for finding pages that nothing links to.
* Removed backlinks page, which it turns out nothing used.
2006-05-02 06:15:31 +00:00
joey 4f1dc4b47c fix name 2006-05-02 02:39:33 +00:00
joey 54d5308cd8 * Added plugin system, currently only supporting for PreProcessorDirectives.
* Added a pagecount plugin, enabled by default.
* Support PreProcessorDirectives with no parameters, ie "[[pagecount ]]".
* Fixed/optimised backlinks code, to avoid rebuilding pages to update
  backlinks when the backlinks hadn't really changed.
* Moved inline page support, rss generation etc into the inline plugin,
  enabled by default.
* Added brokenlinks plugin, not enabled by default, but rather handy.
* Fix several broken links in the doc wiki.
2006-05-02 02:34:33 +00:00