Age | Commit message (Collapse) | Author |
|
It was calling format hooks for each comment on the page.
When relativedate is enabled, that made it insert <script> tags
for each comment. And the browser loaded the same script over and over,
which was slow on its own. But that was nothing compared to running
the onload even over and over.. especially since the hook system
added a new call to the hook each time it loaded.
For a page with 10 comments, that caused the relativedate DOM parsing
code to run 1000 times, I think. Anyway, it was sloow. Now it runs once.
|
|
|
|
|
|
|
|
Remove actions from it, and avoid a broken title link.
|
|
|
|
.ikiwiki/comments_pending) for moderator review.
|
|
I suspect these are only triggered by spammers.
|
|
|
|
including spam filters.
|
|
IIRC I analised this and the code is right
|
|
|
|
contained [[!_comment]]
|
|
The ?updated needs to come before the #anchor or browsers will not follow
the anchor.
|
|
This got lost when we added the jump-to-comment anchor.
|
|
|
|
People seem to be able to expect to enter www.foo.com and get away with it.
The resulting my.wiki/www.foo.com link was not ideal.
To fix it, use URI::Heuristic to expand such things into a real url. It
even looks up hostnames in the DNS if necessary.
|
|
|
|
|
|
This fixes the bug that comments are always said to be from an anonymous
user at an unknown IP address.
|
|
|
|
None of the comment state needs to be stored through the a later run of
ikiwiki, so move it all from pagestate to a more transient storage.
This is assuming that we'll never want to add pagespecs to search against
the comment state. Pagespecs like author() are why the meta plugin does
store its meta data in pagestate -- the data can be needed later to match
against.
|
|
COMMENTAUTHORURL
Also refactor page.tmpl to use if/else rather than unless/if.
|
|
|
|
|
|
|
|
|
|
wtf does it do? absolutely nothing
|
|
|
|
|
|
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.)
|
|
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.
|
|
Not ideal, it would be nicer to jump to the actual comment posted, but no
anchor is available.
|
|
|
|
This link will supplant the usual Discussion link for pages
that have comments enabled.
|
|
|
|
I think it is clearer to have one pagespec that controls all pages with
comments, and a separate pagespec that can be used to close new comments on
a subset of those pages.
|
|
defaults cannot be set in getsetup, do it in checkconfig to avoid
uninitialized value warnings.
|
|
|
|
This function as factored out was a bit confusing, I think this makes more
sense.
|
|
|
|
sessioncgi hooks are always called with the wiki locked
|
|
|
|
|
|
|
|
loadplugin("inline") should take care of that
|
|
|
|
I think that using a flag variable is sorta cleaner.
(This is untested.)
|
|
|
|
The [[!_comment]] directive is a serialization format, not something for
presentation to users, so we should use the least ambiguous possible
representation.
|