Jeremy, I don't really have time for pull requests right now, but if you want to and like it, feel free to put it in yourself. I haven't signed the CLA yet... -Arlen
On Tue, Dec 9, 2014 at 5:07 PM, Jeremy Ruston <[email protected]> wrote: > Hi Arlen > > > Here is the result of my exploring today. > > Great stuff, well done. I'd be happy to take a pull request for these > changes, if you're able. The associated documentation also needs updating. > > There are a few related tickets on the HTTP server module: > > https://github.com/Jermolene/TiddlyWiki5/issues/512 - Refactor routes > from server.js as separate modules > https://github.com/Jermolene/TiddlyWiki5/issues/1148 - Route to static > files in the --server mode > https://github.com/Jermolene/TiddlyWiki5/pull/976 - Allow additional > server paths > > Best wishes > > Jeremy > > > On Tue, Dec 9, 2014 at 9:51 PM, Arlen Beiler <[email protected]> wrote: > >> Actually, if you change the first one to "path: /^\/static.html$/", it >> would work fine too. >> -Arlen >> >> On Tue, Dec 9, 2014 at 4:48 PM, Arlen Beiler <[email protected]> wrote: >> >>> Thank you. >>> >>> Here is the result of my exploring today. In order to generate static >>> pages dynamically (!!!???), this code gets inserted into server.js. The >>> only other change was to clone the $:/core/templates/static.template.html >>> tiddler and change the link you mentioned to remove the static/ prefix. So >>> here's the code. It comes right after the GET request for the root of the >>> site. >>> >>> this.server.addRoute({ >>> method: "GET", >>> path: /^\/static\/$/, >>> handler: function(request,response,state) { >>> response.writeHead(200, {"Content-Type": >>> state.server.get("serveType")}); >>> var text = >>> state.wiki.renderTiddler("text/plain","$:/arlen/static.template.html") >>> response.end(text,"utf8"); >>> } >>> }); >>> this.server.addRoute({ >>> method: "GET", >>> path: /^\/static\/static.css$/, >>> handler: function(request,response,state) { >>> response.writeHead(200, {"Content-Type": "text/css"}); >>> var text = >>> state.wiki.renderTiddler("text/plain","$:/core/templates/static.template.css"); >>> response.end(text,"utf8"); >>> } >>> }); >>> this.server.addRoute({ >>> method: "GET", >>> path: /^\/static\/(.+).html$/, >>> handler: function(request,response,state) { >>> var title = >>> decodeURIComponent(decodeURIComponent(state.params[0])), >>> tiddler = state.wiki.getTiddler(title); >>> if(tiddler) { >>> response.writeHead(200, {"Content-Type": >>> state.server.get("serveType")}); >>> var text = >>> state.wiki.renderTiddler("text/plain","$:/core/templates/static.tiddler.html",{ >>> variables: { currentTiddler: title }}) >>> response.end(text,"utf8"); >>> } else { >>> response.writeHead(404); >>> response.end(); >>> } >>> } >>> }); >>> >>> *Now to put it in a plugin...* >>> >>> *And make the tabs work...* >>> >>> *And add a static sidebar...* >>> >>> *And add the supporting libraries...* >>> >>> >>> *And...and...and...* >>> But I like the idea of having a clean, fast interface that does most of >>> it's processing on the server. >>> >>> Enjoy! >>> -Arlen >>> >>> On Tue, Dec 9, 2014 at 3:35 PM, Jeremy Ruston <[email protected]> >>> wrote: >>> >>>> Hi Arlen >>>> >>>> The default static templates reconfigure the way that links are >>>> rendered so as to convert internal tiddler links into file links. >>>> >>>> At the top of "$:/core/templates/static.template.html" you'll see: >>>> >>>> \define tv-wikilink-template() static/$uri_doubleencoded$.html >>>> >>>> The docs for the link widget explain how the tv-wikilink-template macro >>>> is used: >>>> >>>> http://tiddlywiki.com/#LinkWidget >>>> >>>> Best wishes >>>> >>>> Jeremy. >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Tue, Dec 9, 2014 at 8:30 PM, Arlen Beiler <[email protected]> >>>> wrote: >>>> >>>>> To explain in more detail, I am working on adding single page views to >>>>> tiddlywiki that use the static mechanism but are generated on request. I >>>>> think if I would put the title through decodeURIcomponent twice it would >>>>> be >>>>> fine, but I wanted to make sure that this is according to design. >>>>> -Arlen >>>>> On Dec 9, 2014 2:42 PM, "Arlen Beiler" <[email protected]> wrote: >>>>> >>>>>> Hi all, >>>>>> I am working with the renderTiddler command and the tiddlywiki >>>>>> server, and the renderTiddler command seems to URI encode links to other >>>>>> tiddly documents. I am referring to the commands in this tiddler: >>>>>> http://tiddlywiki.com/#Generating%20Static%20Sites%20with%20TiddlyWiki >>>>>> >>>>>> For instance, the command >>>>>> >>>>>> --rendertiddler $:/core/templates/static.template.html static.html >>>>>> text/plain >>>>>> >>>>>> renders internal links as >>>>>> >>>>>> static/Ten%2520reasons%2520to%2520switch%2520to%2520TiddlyWiki.html >>>>>> >>>>>> "$:/core/templates/static.tiddler.html" does the same thing, except >>>>>> without the static folder prefix. >>>>>> >>>>>> Thanks, Arlen >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "TiddlyWikiDev" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at http://groups.google.com/group/tiddlywikidev. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> Jeremy Ruston >>>> mailto:[email protected] >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "TiddlyWikiDev" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/tiddlywikidev. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "TiddlyWikiDev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/tiddlywikidev. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Jeremy Ruston > mailto:[email protected] > > -- > You received this message because you are subscribed to the Google Groups > "TiddlyWikiDev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/tiddlywikidev. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/tiddlywikidev. For more options, visit https://groups.google.com/d/optout.
