mirror of
https://github.com/TiddlyWiki/TiddlyWiki5.git
synced 2026-02-02 02:46:46 +00:00
* Move Node.js specific files out of the core plugin * Package server files as new $:/core-server plugin * Missed commander.js * Fix crash in browser * Extend server-only mechanism to be usable by other plugins * in * Revert "Extend server-only mechanism to be usable by other plugins" This reverts commit3faf503073. * Revert "in" This reverts commitb80213128f. * Reapply "Extend server-only mechanism to be usable by other plugins" This reverts commitc6c83bc18b. * Fix test failure * Move filesystem utilities into core-server * Move old-style release notes out of the way * Move the 5.4.0 release note into the right place * Revert "Move the 5.4.0 release note into the right place" This reverts commit3f5c2bfba3. * Revert "Move old-style release notes out of the way" This reverts commitee16e48a43.
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
/*\
|
|
title: $:/core/modules/server/routes/get-tiddler-html.js
|
|
type: application/javascript
|
|
module-type: route
|
|
|
|
GET /:title
|
|
|
|
\*/
|
|
"use strict";
|
|
|
|
exports.method = "GET";
|
|
|
|
exports.path = /^\/([^\/]+)$/;
|
|
|
|
exports.handler = function(request,response,state) {
|
|
var title = $tw.utils.decodeURIComponentSafe(state.params[0]),
|
|
tiddler = state.wiki.getTiddler(title);
|
|
if(tiddler) {
|
|
var renderType = tiddler.getFieldString("_render_type"),
|
|
renderTemplate = tiddler.getFieldString("_render_template");
|
|
// Tiddler fields '_render_type' and '_render_template' overwrite
|
|
// system wide settings for render type and template
|
|
if(state.wiki.isSystemTiddler(title)) {
|
|
renderType = renderType || state.server.get("system-tiddler-render-type");
|
|
renderTemplate = renderTemplate || state.server.get("system-tiddler-render-template");
|
|
} else {
|
|
renderType = renderType || state.server.get("tiddler-render-type");
|
|
renderTemplate = renderTemplate || state.server.get("tiddler-render-template");
|
|
}
|
|
var text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});
|
|
|
|
// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS
|
|
state.sendResponse(200,{},text,"utf8");
|
|
} else {
|
|
response.writeHead(404);
|
|
response.end();
|
|
}
|
|
};
|