Commit Graph

382 Commits (0ce8222190814d4dd0b1e05191c0c39692614490)

Author SHA1 Message Date
Simon McVittie 045cbb2a14 comments_display: display (?) for anon users, {x} for OpenIDs and {*} for local logins
This is a mockup of Joey's idea; to do it properly, the icons should
move to the basewiki or to a comments underlay, and {x} should be
replaced with an OpenID logo (if one with clear licensing even exists).
2008-12-20 17:34:55 +00:00
Simon McVittie 9e889c39ed comments: Rename COMMENTURL to ADDCOMMENTURL to avoid confusion with COMMENTAUTHORURL
Also refactor page.tmpl to use if/else rather than unless/if.
2008-12-20 17:34:55 +00:00
Joey Hess fb8161b845 simplify and compact the comment edit form
Mostly to make it more visually similar to the page edit form.

I'm a bit uncertian about the placement of the page type selector,
and about removing the "Page type". May rethink that.
2008-12-19 14:29:54 -05:00
Joey Hess d0f2ac685b remove 'signed in as foo'
I think users should know who they're signed in as; the edit pages don't
say so there's no reason to here. Also, the user id was not displayed
pretty.
2008-12-19 14:21:48 -05:00
Joey Hess 091c7fd25b add link from comment subject to its permalink 2008-12-19 14:20:07 -05:00
Joey Hess 29cb9027f4 fiddle with comment css classes 2008-12-19 14:14:20 -05:00
Joey Hess 79a787a466 rename comments_form to editcomment 2008-12-19 14:07:22 -05:00
Joey Hess ddabb010b2 rename comments_display to comment 2008-12-19 14:03:26 -05:00
Joey Hess f7fc062a12 replace discussion links on pages with comments link
The thinking here is that having both a Discussion page and comments for
the same page is redundant, and certianly not what you want if you enable
comments for a page. At first I considered making configurable via pagespec
what pages got discussion links. But that would mean testing a new pagespec
for every page, and a redundant config setting to keep in sync. So intead,
take a lead from my previous change to make inlined pages have a comments
link, and change the discussion link at the top of regular pages to link to
their comments.

(Implementation is a bit optimised to avoid redundant pagespec checking.)
2008-12-19 13:55:41 -05:00
Joey Hess 7521dd6c75 jump to comment after posting
Jumping to the just posted comment was the imputus, but I killed a number
of birds here.

Added a INLINEPAGE template variable, which can be used to add anchors to
any inline template.

To keep that sufficiently general, it is the full page name, so the
comment anchors and links changed form.

Got rid of the FIXMEd hardcoded html anchor div.

More importantly, the anchor is now to the very top of the comment, not the
text below. So you can see the title, and how it attributes you.

Avoid changing the permalink of pages that are not really comments, but
happen to contain the _comment directive. I think that behavior was a bug,
though not a likely one to occur since _comment should only really be used
on comment pages.
2008-12-18 20:58:16 -05:00
Joey Hess cd7ac8f72a add Comments link when displaying a page inline
This link will supplant the usual Discussion link for pages
that have comments enabled.
2008-12-17 19:38:02 -05:00
Simon McVittie c038734986 comments_display.tmpl: use less nice formatting to avoid whitespace in output 2008-12-11 21:14:05 +00:00
Simon McVittie 370c1b87c9 comments_display.tmpl: preferentially use confirmed username, but fall back to claimed author if unauthenticated
This still isn't quite right (it displays the IP address twice if the user
doesn't specify a name).
2008-12-11 21:14:05 +00:00
Simon McVittie f29a607025 comments_form.tmpl: show labels for name, website 2008-12-11 21:14:05 +00:00
Simon McVittie a5889912b3 comments: Optionally allow anonymous commenters to set their name/URL.
Also provide a way for the comment template to pick up the verified
username/IP.
2008-12-11 21:14:05 +00:00
Simon McVittie 44a7d77a30 comments: rename main field to "editcontent" consistent with editpage
This has the side-effect that Ikiwiki's default style.css gives the text
box 100% width.
2008-12-11 21:14:05 +00:00
Simon McVittie edb69335f2 comments: instead of hard-coding mdwn, allow any supported page format 2008-12-11 21:14:05 +00:00
Simon McVittie 9af0f04df3 comments: Save comments as a file with one big [[!comment]] directive.
This delays all comment formatting until the last possible time, allows
us to set metadata without worrying that commenters may be able to evade
it, and means that changes to how a comment is saved can be handled
gracefully. It also gives us somewhere to put the commenter's username
or IP address for later reference.
2008-12-11 21:14:05 +00:00
Simon McVittie 24bfc3fdc5 comments: record the time at which each comment was posted 2008-12-11 21:14:04 +00:00
Simon McVittie 8ead8ac857 Remove comments_embed.tmpl (no longer needed) 2008-12-11 21:14:04 +00:00
Simon McVittie 1c1437995c page.tmpl: optionally include "add comment" link 2008-12-11 21:14:04 +00:00
Simon McVittie 8776c76e32 comments_comment.tmpl: allow permalink, anchor to be passed in 2008-12-11 21:14:04 +00:00
Simon McVittie 3a46e7c7f1 comments_embed.tmpl: include the inlined comments if present 2008-12-11 21:14:03 +00:00
Simon McVittie 0df983c5a7 Add comments to page.tmpl 2008-12-11 21:14:03 +00:00
Simon McVittie 249ea2ed75 comments: remove allowhtml option, just switch it on all the time
Now that posts are individually sanitized, that should be safe.
2008-12-11 21:14:03 +00:00
Simon McVittie 3d4aa065d6 postcomment: Rename plugin to comments, use *._comment files
The PageSpec is still called "postcomment" since that's what it means.
2008-12-11 21:14:02 +00:00
Simon McVittie 3c9ccb406b Rename smcvpostcomment plugin to postcomment to propose for inclusion 2008-12-11 21:14:02 +00:00
Simon McVittie 2857b301e7 smcvpostcomment_*.tmpl: make class names match template names
Also put "posting comments disabled" in [], and change "Page preview"
to "Comment preview".
2008-12-11 21:14:02 +00:00
Simon McVittie d18adfb1ad smcvpostcomment: indicate in form whether HTML and directives are allowed 2008-12-11 21:14:02 +00:00
Simon McVittie 7be3a15244 Use a link rather than a button for "post comments" 2008-12-11 21:14:01 +00:00
Simon McVittie f77f7a02a6 Add initial version of a postcomment plugin (temporarily namespaced as smcvpostcomment) 2008-12-11 21:14:01 +00:00
Joey Hess e307eeda3d html escaping complication
Can't escape things to entities if the template then escapes the entities.
(aggregate doesn't have this problem.)
2008-11-18 02:48:24 -05:00
Joey Hess f0e58faefa Add rel=nofollow to recentchanges_links for the same (weak) reasons it was earlier added to edit links. 2008-11-10 18:05:30 -05:00
Joey Hess 2b569f99d9 fix relativedate timezone inclusion
The machine parseable date needs to include a timezone.

Also, simplified the interface for date display.
2008-10-19 19:21:44 -04:00
Joey Hess 3f922abff4 remove old dup div 2008-10-18 19:11:57 -04:00
Joey Hess 35c56622ea tweak recentchanges permalink code
Need to handle the case where url is not set.
2008-10-17 21:54:42 -04:00
Joey Hess fdb5da46b0 Patch for anchor-based change permalinks in recent changes feed
from JasonBlevins
2008-10-17 21:49:55 -04:00
Joey Hess 02ec92c6cb make relativedate work for the dates on the recentchanges page
Having a always current relative date on recentchanges is very, very nice.
2008-10-17 21:21:07 -04:00
Joey Hess 7390a7a072 relativedate: New javascript-alicious plugin that makes all dates display relative, in a very nice way, if I say so myself. 2008-10-17 20:47:32 -04:00
Peter Simons f9957d11ed google plugin: Use google.com to search the local site.
Google allows has a nice feature, sitesearch, that allows anyone to
limit search results to a specific site. Obviously, this feature can be
used to provide a search engine for the local ikiwiki site without the
need to install any additional software. Just enable the 'google' plugin
and make sure that --url uses the proper hostname. Thanks to Joey for
helping to get the Perl implementation right.
2008-10-10 17:05:02 -04:00
Joey Hess 40dc92a67b multiple rename support is working
most edge cases seem handled too
2008-09-23 19:21:05 -04:00
Joey Hess 11550f9593 avoid link fixup if page name stayed the same 2008-08-07 16:17:50 -04:00
Joey Hess 6cfb5c5b59 Added a small icon to the search input box. 2008-08-06 19:34:33 -04:00
Simon McVittie a64dca8356 Escape HTML in Atom feed metadata rather than treating it as XHTML 2008-07-31 22:15:22 +01:00
Simon McVittie 9b901a3364 Escape HTML in RSS feeds, rather than relying on it being valid to stuff into a CDATA section 2008-07-31 22:13:21 +01:00
Simon McVittie 9bc2e316b2 Escape HTML in Atom feeds, rather than relying on it being well-formed XHTML with no named entity references 2008-07-31 22:12:56 +01:00
Joey Hess 054a98647f really rm ;-) 2008-07-29 16:56:25 -04:00
Joey Hess a02c3f46ea initial draft 2008-07-29 15:39:01 -04:00
Joey Hess 7befc6deb3 link fixup on rename working 2008-07-23 19:12:05 -04:00
Joey Hess 29f32d0ba3 add a list of broken links after the rename 2008-07-22 20:30:54 -04:00
Joey Hess 1c9a3cb82b add a rename summary 2008-07-22 20:17:03 -04:00
Joey Hess d76c10cba2 Split out error messages from editpage.tmpl into several separate templates. 2008-07-22 19:58:34 -04:00
Joey Hess 96c529826d skeleton rename plugin 2008-07-21 22:30:43 -04:00
Joey Hess a1df39ed4a simplified confirmation form
also, there's no titlepage conversion issues
2008-07-21 14:22:57 -04:00
Joey Hess 3da279ddd4 editpage: Don't show attachments link when attachments are disabled. 2008-07-21 12:15:55 -04:00
Gabriel McManus e3b0584a49 Use correct term prefixes when searching.
The Z term prefix is for stemming and shouldn't be used here.
X is for custom fields.
2008-07-19 13:23:02 -04:00
Simon McVittie 49fac7fbdb Oops, add missing </span> 2008-07-15 01:14:47 +01:00
Simon McVittie d1eba95cdc More CSS hooks for page.tmpl.
I notice madduck.net already has a similar change :-)
2008-07-15 00:56:19 +01:00
Simon McVittie 879d780603 Add more CSS hooks to inlinepage.tmpl
* Wrap everything before the content in <div class="inlineheader">
* Wrap the inlined content itself in <div class="inlinecontent">
* Wrap everything after the content in <div class="inlinefooter">
2008-07-13 15:13:20 +01:00
Simon McVittie fe242ad996 Add more stylesheet hooks to the page template
* Wrap header stuff, including actions, in <div class="pageheader">
  (there is already a class="header", which is a subset of this, so
  using id="header" would be confusing)
* Add class="pagefooter" to the existing <div id="footer">, for symmetry
2008-07-13 15:09:37 +01:00
Simon McVittie 415c8e0cb5 Rename [[!inline atomid="..."]] to [[!inline guid="..."]] to be consistent with [[!meta guid="..."]], which also outputs an Atom <id> 2008-07-12 17:12:37 +01:00
Simon McVittie 2bd8ada5a6 Accept [[!inline ... atomid="..."]] and use it to populate the feed's Atom <id>.
This is often the same as the feed's <link> (in which case it can be omitted) but sometimes it's a urn:uuid: URN instead.
2008-07-12 17:09:41 +01:00
Simon McVittie 50ec532bba Add MIME type to Atom feeds' <link rel='self'> 2008-07-12 17:09:35 +01:00
Joey Hess ca30d95a78 rename uuid to guid 2008-07-12 10:59:45 -04:00
Simon McVittie fc917fa383 rssitem.tmpl: use UUID as <guid> if supplied 2008-07-11 23:47:00 +01:00
Simon McVittie 9f479a83a7 atomitem.tmpl: use UUID as <id> if supplied 2008-07-11 23:46:48 +01:00
Joey Hess badfb9a5c9 add br at top
firefox 3 smooshed the page location dropdown up to the page title,
obscuring descenders and underscores. Maybe that's a bug, since the CSS
didn't ask it to, but I think adding the extra space of a br at the top
looks better anyway.
2008-07-06 14:54:38 -04:00
Joey Hess edfbd7e1aa toggle: Add javascript to top of page, not to end. This avoids flicker since closed toggles will not be displayed as the page is loading. 2008-07-02 16:14:18 -04:00
Joey Hess 1289beb53b xhtml fixes 2008-07-02 16:08:48 -04:00
Joey Hess d593533af5 attachments interface visibility toggling 2008-07-02 15:42:32 -04:00
Joey Hess c1e9e121b7 basic attachment list 2008-07-01 17:19:38 -04:00
Joey Hess 6643db0cd2 add support for an attachment upload field
FormBuilder makes it annoyingly hard to move a submit button to a
nonstandard place. The button name has to be "_submit" or FormBuilder will
ignore it.
2008-06-30 21:29:37 -04:00
Joey Hess 50542d15ef Add support for the universal edit button
<http://universaleditbutton.org/>

Not forcing a rebuild on upgrade just for this.
2008-06-21 16:56:47 -04:00
Joey Hess 3215b5a982 finishing touches on the new search plugin
- Add a Help link.
- If the pageterm is too long, hash it.
2008-06-04 15:24:28 -04:00
Joey Hess e4119f048c The search interface now allows searching for a page by title ("title:foo"), as well as for pages that contain a given link ("link:bar"). 2008-06-04 14:13:21 -04:00
Joey Hess 18b0aa1f13 prettify page names, and drop the redunadant url display 2008-06-03 22:11:33 -04:00
Joey Hess 8a6a5320ed search: Converted to use xapian-omega.
Everything is done except for the actual indexing. I plan to do incremental
indexing as pages change.
2008-06-03 15:29:54 -04:00
Joey Hess 878bfe008c improve wording 2008-05-30 17:53:10 -04:00
Joey Hess e943812dc9 hashed password support, and empty password security fix
This implements the previously documented hashed password support.

While implementing that, I noticed a security hole, which this commit
also fixes..
2008-05-30 17:35:34 -04:00
Joey Hess 6725413516 Add rel=nofollow to edit links. This may prevent some spiders from pounding on the cgi following edit links. 2008-05-28 03:09:04 -04:00
Joey Hess 2718fc2b25 response 2008-04-10 19:54:38 -04:00
Joey Hess 2beb279806 Give the full path to the hyperestraier helpfile in estseek.conf. 2008-04-10 17:50:43 -04:00
Joey Hess 72b5ef2c5f Fix CSRF attacks against the preferences and edit forms. Closes: #475445
The fix involved embedding the session id in the forms, and not allowing the
forms to be submitted if the embedded id does not match the session id.

In the case of the preferences form, if the session id is not embedded,
then the CGI parameters are cleared. This avoids a secondary attack where the
link to the preferences form prefills password or other fields, and
the user hits "submit" without noticing these prefilled values.

In the case of the editpage form, the anonok plugin can allow anyone to edit,
and so I chose not to guard against CSRF attacks against users who are not
logged in. Otherwise, it also embeds the session id and checks it.

For page editing, I assume that the user will notice if content or commit
message is changed because of CGI parameters, and won't blndly hit save page.
So I didn't block those CGI paramters. (It's even possible to use those CGI
parameters, for good, not for evil, I guess..)

The only other CSRF attack I can think of in ikiwiki involves the poll plugin.
It's certianly possible to set up a link that causes the user to unknowingly
vote in a poll. However, the poll plugin is not intended to be used for things
that people would want to attack, since anyone can after all edit the poll page
and fill in any values they like. So this "attack" is ignorable.
2008-04-10 16:35:30 -04:00
Joey Hess d93aaed791 * Add recentchangesdiff plugin that adds diffs to the recentchanges feeds.
* rcs_diff is a new function that rcs modules should implement.
* Implemented rcs_diff for git, svn, and tla (tla version untested).
  Mercurial and monotone still todo.
2008-03-03 15:53:34 -05:00
Joey Hess 8be2b60aac * The search plugin needs to override <base> to point to the directory
containing ikiwiki.cgi, but this should not change the urls to the style
  sheets etc. Add a new forcebareurl parameter to misctemplate to allow
  it to do that.
2008-02-14 15:20:49 -05:00
Josh Triplett 122f6df325 Merge branch 'master' into prefix-directives
Conflicts:

	debian/changelog
	templates/change.tmpl
2008-02-09 23:02:52 -08:00
Joey Hess f1fcb5be9c * Page templates can now use CTIME to show when the page was created. 2008-02-09 23:05:48 -05:00
Joey Hess a72a620134 change wording 2008-02-09 22:59:50 -05:00
Joey Hess 18d16309ce reword to put the more important info (page names) nearer the front 2008-02-09 22:59:01 -05:00
Joey Hess f3efacb16d add ! prefix to some directives in templates, and to the recentchanges page 2008-02-05 16:18:29 -05:00
Joey Hess 7da5b9948e more whitespace nonsense 2008-01-29 18:27:41 -05:00
Joey Hess e40a9b0511 more HTML::Template fun
fix whitespace that led to bad wrapping and display
2008-01-29 18:25:13 -05:00
Joey Hess 3d29c5e3f8 fix display of diff icon 2008-01-29 18:06:03 -05:00
Joey Hess 64a8c828b8 * meta: Add pagespec functions to match against title, author, authorurl,
license, and copyright. This can be used to create custom RecentChanges.
* meta: To support the pagespec functions, metadata about pages has to be
  retained as pagestate.
* Fix encoding bug when pagestate values contained spaces.
2008-01-29 17:16:51 -05:00
Joey Hess f630b6ca37 really use unmunged author in metadata 2008-01-29 16:07:57 -05:00
Joey Hess 2bfd2e9841 rename template 2008-01-29 13:39:12 -05:00
Joey Hess 6446b67239 move message to end 2008-01-29 04:53:45 -05:00
Joey Hess 38e79f206e more style improvements 2008-01-29 04:44:05 -05:00
Joey Hess a6a300f675 fairly good css style for static recentchanges page
The customary 2.5 hours of staring at random css turtorials later, here
is a pure css latout for the static recentchanges page that, while not as good
as the old table layout, it decent. And it works well in lynx. And
should generate some pretty nice rss too.
2008-01-29 04:22:40 -05:00
Joey Hess 21f44880cd non-tabular recentchanges display
Doesn't look as good as the old table, but works as a rss feed.
2008-01-29 01:48:55 -05:00
Joey Hess d7fdd04b5a * Removed support for sending commit notification mails. Along with it went
the svnrepo and notify settings, though both will be ignored if left in
  setup files.
2008-01-29 00:36:58 -05:00
Joey Hess 5921b86fcc proof of concept implementation of static recentchanges
Currently hardcoded to write to recentchanges/*, and the page format needs
to be rethought to be usable for aggregation, but it basically works.
2008-01-28 23:56:26 -05:00
Joey Hess 0f76f8774d add 2008-01-28 22:56:25 -05:00
Joey Hess 405e8a7031 include license/copyright/author info if available 2008-01-09 02:32:03 -05:00
Joey Hess b31e8c0826 * inline: Add copyright/license info on a per-post basis to atom
feeds if available. (rss doesn't allow such info on a per-post basis)
* meta: Allow copyright/license metadata to contain arbitrary markup.
2008-01-09 01:05:54 -05:00
Joey Hess 86781fc43e * aggregate: Include copyright statements from rss feed as meta copyright
directives.
* aggregate: Yet another state saving fix (sigh).
* aggregate: Add hack to support feeds with invalidly escaped html entities.
2008-01-08 20:41:25 -05:00
Josh Triplett 899d836683 Add xmlns attribute on html element in templates; pages can now validate. 2007-11-08 12:59:02 -08:00
joey 3cf42a466c * Fix copyright and licence styling. 2007-09-20 18:06:55 +00:00
joey 50e5e6a5d4 basic styling for license and copyright 2007-09-15 00:38:30 +00:00
joey 9dc796737f bugfixes 2007-09-15 00:23:08 +00:00
joey 906dcfd518 * meta: Support license and copyright information. The information will
be shown in the page footer. HTML will also be inserted that should
  support the rel=license microformat as well as the HTML spec's
  rel=copyright.
2007-09-14 18:11:10 +00:00
joey ce7596dad9 * Applied Jeremie Koenig's pluggable editpage buttons patch:
- add a title to the editpage form;
  - pass a reference to the list of buttons to the formbuilder_setup
    hooks, so we can add ours;
  - relax asumption about the possible submit values (use "Save Page"
    explicitly);
  - de-hardcode the submit buttons from the editpage template
    (This was needed for compatability with a bug in CGI::FormBuilder
    3.0401, but ikiwiki already needs a newer version.)
* Pass buttons to all other formbuilder_setup hooks too.
2007-08-17 05:34:59 +00:00
joey 160326b469 * Apply a patch from NicolasLimare adding modification date tags to rss and
atom feeds, and also changing the publication time for a feed to the
  newest modiciation time (was newest creation time).
* The patch also adds dcterms:creator to rss items that have a known author.
2007-08-11 23:15:08 +00:00
joey c92ab9cddd * Wrap the editpage template in the standard misctemplate, this allows the
pagetemplate hook to work for that page.
* Above change fixes the favicon plugin to work on edit pages.
2007-07-16 05:24:31 +00:00
joey ba1765fbdf * More consistent encoding of titles in rss and atom feeds. Don't use
ESCAPE=HTML for titles in the templates for these feeds, and instead
  escape the title going in to the template. Previously, the title was
  sometimes double-escaped in a feed (if set via meta title), and sometimes
  not (if set from the page filename).
* In the meta plugin, when a title is set, encode the html entities in it
  numerically. This works better in the current landscape of a rss spec that
  doesn't specify encoding, and variously broken feed consumers, according
  to <http://www.rssboard.org/rss-profile#data-types-characterdata>.
2007-05-28 19:43:28 +00:00
joey 190202dd4e * Make all templates have a footer div to ease themeing. Required template
and style sheet updates, and unless you're using customised versions,
  you'll want to rebuild wikis on upgrade to this version to avoid
  inconsistencies.
* Allow WIKINAME to to used in footers, as an example of something to put
  there.
2007-05-11 20:09:58 +00:00
joshtriplett 27bfa7b40e Remove img style attribute from recentchanges.tmpl; the default style.css covers this. 2007-05-08 20:45:40 +00:00
joey 2ece784167 don't generate tags span if there are no tags.. 2007-05-01 23:13:00 +00:00
joey fa6852bb7c remove empty footer, doesn't play well with new css 2007-04-29 22:22:00 +00:00
joey 160fd34187 more footer improvements 2007-04-26 19:49:06 +00:00
joey fe52c28bd6 * Move the footer div to enclose tags and links too.
* More style sheet updates, remove the hack that used the tags div to create
  the footer border.
2007-04-26 19:33:28 +00:00
joey 3af6dea3b5 * Minor template improvements by Alessandro. 2007-04-18 23:35:48 +00:00
joey 01b058a285 * Add postformtext parameter to inline. 2007-04-12 04:13:55 +00:00
joey 127945aad3 use popup balloon for more backlinks, rather than expanding on hover, since
in some cases it's not possible to move the mouse over the more backlinks
using the old method
2007-04-06 22:30:51 +00:00
joey 8d03891eba * Reorder the icon in the template above the stylesheets, to avoid icon
flashing during page load.
2007-04-06 17:31:00 +00:00
joey a2cfdaaec5 * Hide excess backlinks and expand using CSS trick; control quantiy via
the numbacklinks setting.
2007-03-31 08:48:10 +00:00
joey 72ed9e455c the real bug turned out to be in the meta plugin 2007-03-21 06:46:06 +00:00
joey af63a2ebff forgot to revert this 2007-03-21 06:39:01 +00:00
joey 03e5438155 oh, this is confusing, it needs escaping in <title>, but not when it's used
inline, already escaped there
2007-03-21 06:22:06 +00:00
joey 1c65ca4922 * Fix a few bugs around page titles containing html. The worst of these
is an actual security hole as it allows insertion of html into the title
  element of a page, which is not processed by the htmlscrubber.
2007-03-21 06:05:21 +00:00
joey 21bc9abfcf wording 2007-03-17 23:58:34 +00:00
joey 26213f8ee4 * Detect the case of two people independently creating the same page at the
same time, and let the second person resolve the conflict.
2007-03-17 23:57:03 +00:00
joey ed3ce7e778 really add 2007-03-06 19:18:47 +00:00
joey 10b8557946 * Add "template" option to inline plugin to allow for use of customised
templates.
2007-03-02 04:00:42 +00:00
joey 072967e62a * Patch from Ethan to improve behavior if a page is deleted or moved while
someone is editing it.
* Some cleanup of field setting in the failed edit and conflict handling
  code.
2007-02-24 00:39:06 +00:00
joey 8bfcca5b47 * Patch to fix validaton of atom feeds by fixing the category tags. 2007-02-19 04:42:30 +00:00
joey c9d7926df4 * New domain name for ikiwiki: ikiwiki.info. Update your links. 2007-02-18 20:24:40 +00:00
joey d4c61b7281 * Many changes to make ikiwiki very resistant to write failures
including out of disk space situations. ikiwiki should never leave
  truncated files, and if the error occurs during a web-based file edit,
  the user will be given an opportunity to retry.
  Inspired by the many ways Moin Moin destroys itself when out of disk. :-)
* Fix syslogging of errors.
2007-02-15 02:22:08 +00:00
joey fa8bbbb0b3 * Fix bogus use of CDATA in atom feeds. Closes: #406898 2007-01-14 22:56:42 +00:00
joey 64a491979c revert trailer, breaks html thanks to markdown 2006-12-28 20:41:00 +00:00
joey c1cd9b6b33 Changes from StefanoZacchiroli:
- Use div for inlinepage actions, not a span
- Add an enclosing "trailer" div

Also, change pageinfo span into a div, since it now can include <p>
2006-12-28 20:32:51 +00:00
joey d83d11e6b8 * Add mirrorlist plugin. 2006-12-23 01:07:11 +00:00
joey 28c31be732 updates 2006-11-21 04:26:53 +00:00
joey 1626831cc8 typos 2006-11-15 20:49:10 +00:00
joey 513368c403 * Work with hyperestraier 1.4.9. 2006-11-13 20:07:55 +00:00
joey 96eb9bb3fa * Work around a strange bug in CGI::FormBuilder 3.0401 that makes
FORM-SUBMIT unusable on customised formbuilder templates. For now,
  hardcode the submit buttons in editpage.tmpl instead of using the
  template variable, which is ok, since the buttons are static.
2006-11-10 07:46:41 +00:00
joey 369cf45ace * Patch from James Westby to support podcasting, photoblogging, vidcasting,
or what have you, by creating enclosures for non-page items that are
  included in feeds.
2006-11-01 06:45:59 +00:00
joey be55f6fd7c * Atom feed support based on a patch by Clint Adams.
* Add feeds=no option to inline preprocessor directive to turn off all types
  of feeds. feeds=rss will still work, and feeds=atom was also added, for
  fine control.
* $IkiWiki::version now holds the program version, and is accessible to
  plugins.
2006-10-08 23:57:37 +00:00
joey fb670513bf fix mime type 2006-09-17 17:46:51 +00:00
joey fa96eab120 * Updated ikiwiki.svgz from Recai, includes an icon and is used to generate
a multi-resolution favicon.ico.
2006-09-16 15:12:01 +00:00
joey 0f25ec8eb6 * pagetemplate hooks are now also called when generating cgi pages.
* Add a favicon plugin, which simply adds a link tag for an icon to each
  page (and cgis).
2006-09-16 00:52:26 +00:00
joey 68c67a5f41 * If an inlined page has a permalink, link the page title to that. 2006-09-10 04:19:46 +00:00
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 7ba4a844a8 * Include <link rel> tag for RSS feeds, used by some aggregators and
firefox to find the feed.
2006-09-06 21:03:39 +00:00
joey 1f26347379 escaping fix from Emanuele Aina 2006-09-06 20:02:12 +00:00
joey 9926ecf39c close a possible XSS hole 2006-09-04 04:31:41 +00:00
joey b6075d6163 move html escaping 2006-09-04 04:29:18 +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 2bec3518c2 * Patch from James Westby to add a template for the search form.
* Cache search form for speedup.
2006-08-26 21:57:59 +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 56d0ceee2e * Make all pages pull in a local.css style sheet, if present. This won't
be included in ikiwiki, but can be created to make local styling changes
  w/o needing to merge in every new change to the distributed style.css.
2006-08-24 20:45:09 +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
joey d0295d9dc0 * Clean up behavior with broken parentlinks. 2006-08-21 22:45:17 +00:00
joey cf3021ef3f * Fixed a bug with previews of subpages having broken links to top-level
pages.
* Change how the stylesheet url is determined in the templates: Remove
  STYLEURL and add BASEURL to all templates (some already had it). This
  new more general variable can be used to link to other things (eg, images)
  from the template, as well as stylesheets.
2006-08-21 22:27:02 +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
joey a6a61f9e38 use rel=bookmark here too.. 2006-08-04 04:32:53 +00:00
joey e36f6b6a99 oops 2006-08-04 00:59:00 +00:00
joey 819b31d46c * Various CSS and formatting changes. 2006-08-04 00:47:28 +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 e4ccc4f3b0 fix title metadata on blogs, reorg needed to do it, simplified tag some 2006-07-31 00:34:18 +00:00
joey 908e004b4c * Title metadata of inlined pages now shows up in blogs, although not yet
in their rss feeds.
2006-07-30 23:51:48 +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 61ac8f2f51 improce 2006-07-30 07:59: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 267f98e2e1 * Put categories in rss feeds for tagged items. 2006-07-29 07:25:17 +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 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 b187641376 * Patch from Recai to allow selection of page type when creating a new page.
Default page type is inherited from the link clicked on to create the new
  page.
2006-07-26 21:23:06 +00:00
joey 723ebda476 some stylesheet improvements for the table, also add a bit more border
between items to avoid them running together in some cases
2006-07-06 19:50:32 +00:00
joey 4aa5d301ae remove most of the black lines 2006-07-04 16:19:29 +00:00
joey 6ab0659a9d fix 2006-07-04 07:25:56 +00:00
joey 0ff488e380 add a commit type column 2006-07-04 07:21:51 +00:00
joey e059c9eff9 * Make RecentChanges use a table and some CSS, should be much more readable.
No code changes involved.
* Encode & in diffurl in examples, to conform to pedantic rules.
2006-07-04 06:07:32 +00:00
joey 1452b3adf3 so make sure to let perl know it should be handled as utf8. Also,
* Improve layout of edit page so formatting help link is always visible w/o
  getting in the way of the preview.
2006-07-02 17:44:43 +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 c20c406631 * Add -refresh option to ikiwiki-mass-rebuild and use that on upgrades that
do not need a full rebuild, in order to update any basewiki pages.
2006-05-27 19:04:46 +00:00
joey 526044e1da better fix for empty actions list issue 2006-05-26 15:18:12 +00:00
joey 282893be81 * Rebuilding on upgrade to this version is recommended.
* Add a html validity check to the test suite, using the wdg-html-validator,
  if available.
* Make the html valid when there is nothing in the actions list by adding an
  empty <li> to the end of it.
* Reordered some function call parameters for consistency.
2006-05-26 08:24:36 +00:00
joey 03c98d3c79 header can appear more than one time, so is a class, not an id 2006-05-26 01:42:00 +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 dd7a381471 * Add ikiwiki-mass-rebuild script, ripped out of the postinst.
* Add some new config items to the estseek.conf template, which are needed
  by hyperestraier 1.2.3.
2006-05-05 20:48:20 +00:00
joey b2bd444f31 * Allow discussion links on pages to be turned off with --no-discussion. 2006-05-05 18:20:52 +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
joey 819a31ed24 * Rename inlinepage to depends, so that it can be used to refer to more
dependency relationships than just inlining. This will require a rebuild
  on upgrade to this version.
* Move the rss link, put it in the blogpost form if there is one and at the
  top if not. This is both nicer because easier to find, and it cleans up
  the code which had used inlinepage as a flag for adding the link later.
* Allow the depends GlobList to be built up from multiple sources (such as
  plugins) during a page render.
* Which means that more than one blog is now supported to appear on a
  single page. (With some limitations.)
2006-05-01 22:27:37 +00:00
joey 1ba7023746 more 2006-04-25 00:45:10 +00:00
joey 1f66fb8a28 formatting 2006-04-25 00:29:06 +00:00
joey b7f64d884c subscription nearly done 2006-04-25 00:22:41 +00:00
joey 7a5ae22e5a Convert postprocessordirectives into preprocessordirectives, so they are
expanded before markdown. Consequences:

 - No need to worry about markdown messing with parameters of
   preprocessordirectives. (If you had to escape stuff in one before, you'll
   need to undo that escaping now.)
 - No need for ugly </p> hacks before inlined subpages. Instead, subpages
   are wrapped in a <div>, and this prevents markdown from touching them.
   (This can also be used to add style to subpages.)
 - rss generation is less of a hack.
2006-04-04 20:57:46 +00:00
joey c4e0e8c36c - add <base> to cgi output, this is especially useful for output containing
wikilinks since the urls should work now in more situations
- drop --limit from svn log run, since a) it needs a fairly new svn and 
  b) in some cases, it would limit it to too few entries to display the
  requested number of changes
- Use driver:DB_File and not driver:db_file for better compatability with
  old versions of CGI::Session.
- Note that HTML::Template 3.02.02 is needed.
2006-04-02 22:24:08 +00:00