summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/inline.pm
AgeCommit message (Collapse)Author
2008-12-28releasing version 2.72Joey Hess
2008-12-26inline: Run format hook firstJoey Hess
inline has a format hook that is an optimisation hack. Until this hook runs, the inlined content is not present on the page. This can prevent other format hooks, that process that content, from acting on inlined content. In bug ##509710, we discovered this happened commonly for the embed plugin, but it could in theory happen for many other plugins (color, cutpaste, etc) that use format to fill in special html after sanitization. The ordering was essentially random (hash key order). That's kinda a good thing, because hooks should be independent of other hooks and able to run in any order. But for things like inline, that just doesn't work. To fix the immediate problem, let's make hooks able to be registered as running "first". There was already the ability to make them run "last". Now, this simple first/middle/last ordering is obviously not going to work if a lot of things need to run first, or last, since then we'll be back to being unable to specify ordering inside those sets. But before worrying about that too much, and considering dependency ordering, etc, observe how few plugins use last ordering: Exactly one needs it. And, so far, exactly one needs first ordering. So for now, KISS. Another implementation note: I could have sorted the plugins with first/last/middle as the primary key, and plugin name secondary, to get a guaranteed stable order. Instead, I chose to preserve hash order. Two opposing things pulled me toward that decision: 1. Since has order is randomish, it will ensure that no accidental ordering assumptions are made. 2. Assume for a minute that ordering matters a lot more than expected. Drastically changing the order a particular configuration uses could result in a lot of subtle bugs cropping up. (I hope this assumption is false, partly due to #1, but can't rule it out.)
2008-12-18jump to comment after postingJoey Hess
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-17Coding style change: Remove explcit vim folding markers.Joey Hess
2008-12-11simplifiy logicJoey Hess
2008-12-11inline: Support feedfile option to change the filename of the feed generated.Joey Hess
2008-12-11inline: Support emptyfeeds=no option to skip generating empty feeds.Joey Hess
2008-12-11move feedpages application upJoey Hess
I wanted this nearer to the top, but decided to put it after the add_depends. Reasoning: It's possible with a combinaton of feedpages and show options to make @list and @feedlist contain completly differing sets of pages. We want to add_depends all pages in both sets. We could combine the two lists and add_depends that, but it's slightly more efficient to defer reducing @feedlist, and add_depends whichever list is longer.
2008-11-05use error for two messagesJoey Hess
2008-10-20inline: Only the last feed link was put on the page, fix this to include all ↵Joey Hess
feed links. So rss will be included along with atom, and pages with multiple feeds will get links added for all feeds.
2008-10-19fix relativedate timezone inclusionJoey Hess
The machine parseable date needs to include a timezone. Also, simplified the interface for date display.
2008-10-17relativedate: New javascript-alicious plugin that makes all dates display ↵Joey Hess
relative, in a very nice way, if I say so myself.
2008-10-15inline: Use the feed's description in the rss and atom links. Closes: #502113Joey Hess
2008-10-14fix prototypeJoey Hess
2008-10-14inline: Allow MTIME to be used in inlinepage.tmpl.Joey Hess
2008-10-01inline: Fix handling of rootpage that doesn't exist.Joey Hess
It makes sense to use bestlink to determine which page rootpage refers to, but if no page matches, just use the raw value.
2008-09-27Export pagetitle, titlepage, linkpage.Joey Hess
2008-09-14rootpage is not a pagespecJoey Hess
So ./posts won't be interpreted right. Just "posts" should do, I think.
2008-09-08minor optimisationJoey Hess
2008-09-05editpage: New core plugin factoring out page editing to allow disabling it ↵Joey Hess
if desired.
2008-08-11error if ping fails, rather than printing debugJoey Hess
2008-08-07inline: Ignore parent dirs when sorting pages by title.Joey Hess
2008-08-03add plugin safe/rebuild info (part 1 of 2)Joey Hess
too many plugins.. brain exploding..
2008-07-27fix cgiurl checkJoey Hess
2008-07-26remove default values in getsetupJoey Hess
They were a bit confusing, since they did not actually set the default, and example values are sufficient.
2008-07-26typoJoey Hess
2008-07-26turn booleans into questionsJoey Hess
2008-07-26predefine pingurlJoey Hess
2008-07-25add getconfig for inlineJoey Hess
Also, moved the pingurl getopt parsing to inline.
2008-07-25fix feed urlsJoey Hess
The fix for colons involved adding "./" to some urls. Due to the weird way inline called urlto, these snuck into feed urls and permalinks. Fix it by adding an optional third parameter to urlto.
2008-07-13switch preprocess hooks to use error functionJoey Hess
2008-07-12Rename [[!inline atomid="..."]] to [[!inline guid="..."]] to be consistent ↵Simon McVittie
with [[!meta guid="..."]], which also outputs an Atom <id>
2008-07-12Accept [[!inline ... atomid="..."]] and use it to populate the feed's Atom <id>.Simon McVittie
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-12Move yesno function out of inline and into IkiWiki core, not exported.Joey Hess
2008-07-12rename uuid to guidJoey Hess
2008-07-12elide temp varJoey Hess
2008-07-11inline plugin: if meta plugin is also enabled, and has collected a uuid for ↵Simon McVittie
a page, then pass it into the rssitem/atomitem templates
2008-07-06editpage escaping fixesJoey Hess
* The editpage form now uses the raw page name, not the page title, in its 'page' cgi parameter. Using the title was ambiguous and made it impossible to tell between some pages, like "foo/bar" and "foo__47__bar", sometimes causing the wrong page to be edited. * This change means that some edit links need to be updated. Force a rebuild on upgrade to this version. * Above change also allowed really fixing escaped slashes from the blogpost form.
2008-06-04Pass a destpage parameter to the sanitize hook.Joey Hess
Because the search plugin needed it, also because it's one of the few plugins that didn't already have it. I also considered adding it to htmlize, but I really cannot imagine caring what the destpage is when htmlizing. (I'll probably be poven wrong later.)
2008-05-31inline: The optimisation in 2.41 broke nested inlines. Detect those and ↵Joey Hess
avoid overoptimising.
2008-05-15inline: Display a message if the 'pages' parameter is missing, before it ↵Joey Hess
just expanded to nothing.
2008-05-07Optimised file statting code when scanning for modified pages; cut the ↵Joey Hess
number of system calls in half. (Still room for improvement.)
2008-05-06POSIX::setsid is not exported per defaultJoey Hess
2008-04-03need to handle urls to images the sameJoey Hess
Also, simplified finding the url to the top of the site.
2008-04-03Bug#473987: [PATCH] Links relative to baseurl mangled in atom/rss feedsManoj Srivastava
tag 473987 +patch thanks Hi, The issue is that we need to convert relative links to absolute ones for atom and rss feeds -- but there are two types of relative links. The first kind, relative to the current document ( href="some/path") is handled correctly. The second kind of relative url is is relative to the http server base (href="/semi-abs/path"), and that broke. It broke because we just prepended the url of the current document to the href (http://host/path/to/this-doc/ + link), which gave us, in the first place: http://host/path/to/this-doc/some/path [correct], and http://host/path/to/this-doc//semi-abs/path [wrong] The fix is to calculate the base for the http server (the base of the wiki does not help, since the base of the wiki can be different from the base of the http server -- I have, for example, "url => http://host.name.mine/blog/manoj/"), and prepend that to the relative references that start with a /. This has been tested. Signed-off-by: Manoj Srivastava <srivasta@debian.org>
2008-03-23inline: Allow the "feedshow" parameter to take values greater than the value ↵Joey Hess
for "show".
2008-03-21work around perl warningJoey Hess
2008-03-21delete inline data after it's usedJoey Hess
2008-03-21crazy optimisation to work around slow markdownJoey Hess
Markdown is slow. Especially if it has to process an enormous page. The most common enormous page is currently the recentchanges page, which gets processed a lot, and contains very little actual markdown. Most of it is a big <div>, which markdown skips ... slowly. This is a rather sick optimisation to work around markdown's speed issues. Now inline inserts a small, dummy div, allows markdown to quickly render the actual page content, then replaces the dummy with the actual inlined pages later. Results: Rendering just a recentchanges page, with diffs included, dropped from 4.5 seconds to 2.7 seconds on my laptop. Building the entire wiki dropped from 46.6 seconds to 39.5 seconds. (It would be better if inline were a *post*-processor directive.)
2008-03-12* Use absolute url for feedurl when filling out the feed templates.Joey Hess
Closes: #470530