]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/inline_raw_files.mdwn
I can't commit this, but I would if I could
[git.ikiwiki.info.git] / doc / todo / inline_raw_files.mdwn
index 2968bad404cf85b1e6b3128340bab3ecc281bf0b..52a4be7265667b111dd89229e3dfd49f02f58af0 100644 (file)
+[[!template id=gitbranch branch=wtk/raw_inline author="[[wtk]]"]]
+
 summary
 =======
 
 Extend inlining to handle raw files (files with unrecognized extensions).
 
 summary
 =======
 
 Extend inlining to handle raw files (files with unrecognized extensions).
 
-Also raise an error in IkiWiki::pagetype($file) if $file is blank, which avoids trying to do much with missing files, etc.
+Also raise an error in `IkiWiki::pagetype($file)` if `$file` is blank, which avoids trying to do much with missing files, etc.
 
 
-I've included this patch (and some other adjustments) in my [branch] of the IkiWiki Git repository.  I'm using the new code in my [blog][].
+I'm using the new code in my [blog][].
 
 
-[branch]: http://github.com/wking/ikiwiki
-[blog]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/yacc2dot/
+[blog]: http://blog.tremily.us/posts/yacc2dot/
 
 usage
 =====
 
     \[[!inline pagenames="somefile.txt" template="raw" feeds="no"]]
 
 usage
 =====
 
     \[[!inline pagenames="somefile.txt" template="raw" feeds="no"]]
+
+
+> But inline already supports raw files in two ways:
+> 
+> * setting raw=yes will cause a page to be inlined raw without
+>   using any template, as if it were part of the page at the location
+>   of the inline
+> * otherwise, the file becomes an enclosure in the rss feed, for use with
+>    podcasting.
+> 
+> So I don't see the point of your patch. Although since your text
+> editor seems to like to make lots of whitespace changes, it's possible
+> I missed something in the large quantity of noise introduced by it.
+> --[[Joey]]
+
+>> As I understand it, setting `raw=yes` causes the page to be inlined
+>> as if the page contents had appeared in place of the directive.  The
+>> content is then processed by whatever `htmlize()` applies to the
+>> inlining page.  I want the inlined page to be unprocessed, and
+>> wrapped in `<pre><code>...</code></pre>` (as they are on the blog
+>> post I link to above).
+>>
+>> Enclosures do not include the page contents at all, just a link to
+>> them.  I'm trying to inline the content so I can comment on it from
+>> the inlining page.
+>>
+>> Apologies for my cluttered version history, I should have branched my
+>> earlier changes off to make things clearer.  I tried to isolate my
+>> whitespace changes (fixes?) in c9ae012d245154c3374d155958fcb0b60fda57ce.
+>> 157389355d01224b2d3c3f6e4c1eb42a20ec8a90 should hold all the content
+>> changes.
+>>
+>> A list of other things globbed into my master branch that should have
+>> been separate branches:
+>>
+>> * Make it easy to select a Markdown executable for mdwn.pm.
+>> * Included an updated form of
+>>   [[Javier Rojas' linktoimgonly.pm|forum/link_to_an_image_inside_the_wiki_without_inlining_it]].
+>> * Included an updated form of
+>>   [Jason Blevins' mdwn_itex.pm](http://jblevins.org/git/ikiwiki/plugins.git/plain/mdwn_itex.pm).
+>> * Assorted minor documentation changes.
+>>
+>> --[[wtk]]
+
+>>> I haven't heard anything in a while, so I've reorganized my version
+>>> history and rebased it on the current ikiwiki head.  Perhaps now it
+>>> will be easier to merge or reject.  Note the new branch name:
+>>> `raw_inline`. I'll open separate todo items for items mentioned in my
+>>> previous comment. --[[wtk]]
+
+---- 
+
+Reviewing your patch the first thing I see is this:
+
+<pre>
++        if (! $file) {
++               error("Missing file.");
++        }
+</pre>
+
+This fails if the filename is "0". Also, `pagetype()`
+currently cannot fail; allowing it to crash the entire
+wiki build if the filename is somehow undefined seems
+unwise.
+
+I didn't look much further, because it seems to me what you're trying to do
+can be better accomplished by using the highlight plugin. Assuming the raw
+file you want to inline and comment on is some source-code-like thing,
+which seems likely.
+
+Or, another way to do it would be to use the templates plugin, and make
+a template there that puts an inline directive inside pre tags.
+ --[[Joey]] [[!tag reviewed]]
+
+----
+
+If `pagetype()` cannot fail, then I suppose that check has to go ;).
+
+I was under the impression that [[plugins/highlight]] didn't support
+inlining code.  It looks like it supports highlighing stand-alone
+files or embedded code.  Perhaps I should extend it to support inlined
+code instead of pushing this patch?
+
+> If you configure highlight to support standalone files, then you can
+> inline the resulting pages and get nicely highlighted source code
+> inlined into the page. --[[Joey]]
+
+The `raw.tmpl` included in the patch *does* include the inlined
+content inside `pre` tags.  The problem is that the current inline
+code insists on running `htmlize()` on the content before inserting it
+in the template.  The heart of my patch is an altered
+`get_inline_content()` that makes the `htmlize()` call dependent on a
+`$read_raw` flag.  If the flag is set, the raw (non-htmlized) content
+is used instead.
+
+I just rebased my patches against the current Ikiwiki trunk (no major
+changes) to make them easier to review.
+ --[[wtk]]