Skip to content

Commit 829bb61

Browse files
committed
Merge branch 'master' into colour-improvements
2 parents 421ecff + ae4e999 commit 829bb61

File tree

7 files changed

+35
-43
lines changed

7 files changed

+35
-43
lines changed

core/modules/startup/render.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ exports.synchronous = true;
1717

1818
// Default story and history lists
1919
var PAGE_TITLE_TITLE = "$:/core/wiki/title";
20-
var ROOT_STYLESHEET_TITLE = "$:/core/ui/RootStylesheet";
20+
var PAGE_STYLESHEET_TITLE = "$:/core/ui/PageStylesheet";
2121
var PAGE_TEMPLATE_TITLE = "$:/core/ui/RootTemplate";
2222

2323
// Time (in ms) that we defer refreshing changes to draft tiddlers
@@ -44,13 +44,22 @@ exports.startup = function() {
4444
publishTitle();
4545
}
4646
});
47-
48-
var styleParser = $tw.wiki.parseTiddler(ROOT_STYLESHEET_TITLE,{parseAsInline: true}),
49-
styleWidgetNode = $tw.wiki.makeWidget(styleParser,{document: document});
50-
styleWidgetNode.render(document.head,null);
51-
47+
// Set up the styles
48+
$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});
49+
$tw.styleContainer = $tw.fakeDocument.createElement("style");
50+
$tw.styleWidgetNode.render($tw.styleContainer,null);
51+
$tw.styleWidgetNode.assignedStyles = $tw.styleContainer.textContent;
52+
$tw.styleElement = document.createElement("style");
53+
$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;
54+
document.head.insertBefore($tw.styleElement,document.head.firstChild);
5255
$tw.wiki.addEventListener("change",$tw.perf.report("styleRefresh",function(changes) {
53-
styleWidgetNode.refresh(changes,document.head,null);
56+
if($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {
57+
var newStyles = $tw.styleContainer.textContent;
58+
if(newStyles !== $tw.styleWidgetNode.assignedStyles) {
59+
$tw.styleWidgetNode.assignedStyles = newStyles;
60+
$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;
61+
}
62+
}
5463
}));
5564
// Display the $:/core/ui/PageTemplate tiddler to kick off the display
5665
$tw.perf.report("mainRender",function() {
@@ -59,7 +68,7 @@ exports.startup = function() {
5968
$tw.utils.addClass($tw.pageContainer,"tc-page-container-wrapper");
6069
document.body.insertBefore($tw.pageContainer,document.body.firstChild);
6170
$tw.pageWidgetNode.render($tw.pageContainer,null);
62-
$tw.hooks.invokeHook("th-page-refreshed");
71+
$tw.hooks.invokeHook("th-page-refreshed");
6372
})();
6473
// Remove any splash screen elements
6574
var removeList = document.querySelectorAll(".tc-remove-when-wiki-loaded");

core/modules/startup/windows.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,24 @@ exports.startup = function() {
6363
$tw.eventBus.emit("window:closed",{windowID});
6464
},false);
6565
// Set up the styles
66-
var styleParser = $tw.wiki.parseTiddler("$:/core/ui/RootStylesheet",{parseAsInline: true}),
67-
styleWidgetNode = $tw.wiki.makeWidget(styleParser,{document: srcDocument});
68-
styleWidgetNode.render(srcDocument.head,null);
66+
var styleWidgetNode = $tw.wiki.makeTranscludeWidget("$:/core/ui/PageStylesheet",{
67+
document: $tw.fakeDocument,
68+
variables: variables,
69+
importPageMacros: true}),
70+
styleContainer = $tw.fakeDocument.createElement("style");
71+
styleWidgetNode.render(styleContainer,null);
72+
var styleElement = srcDocument.createElement("style");
73+
styleElement.innerHTML = styleContainer.textContent;
74+
srcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);
6975
// Render the text of the tiddler
7076
var parser = $tw.wiki.parseTiddler(template),
7177
widgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});
7278
widgetNode.render(srcDocument.body,srcDocument.body.firstChild);
7379
// Function to handle refreshes
7480
refreshHandler = function(changes) {
75-
styleWidgetNode.refresh(changes);
81+
if(styleWidgetNode.refresh(changes,styleContainer,null)) {
82+
styleElement.innerHTML = styleContainer.textContent;
83+
}
7684
widgetNode.refresh(changes);
7785
};
7886
$tw.wiki.addEventListener("change",refreshHandler);

core/templates/exporters/StaticRiver.tid

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ extension: .html
2222
<div id="styleArea">
2323
{{$:/boot/boot.css||$:/core/templates/css-tiddler}}
2424
</div>
25-
{{$:/core/ui/RootStylesheet||$:/core/templates/wikified-tiddler}}
25+
<style type="text/css">
26+
{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}
27+
</style>
2628
</head>
2729
<body class="tc-body">
2830
{{$:/StaticBanner||$:/core/templates/html-tiddler}}

core/templates/static.template.html.tid

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ type: text/vnd.tiddlywiki-html
2323
<div id="styleArea">
2424
{{$:/boot/boot.css||$:/core/templates/css-tiddler}}
2525
</div>
26-
{{$:/core/ui/RootStylesheet||$:/core/templates/wikified-tiddler}}
26+
<style type="text/css">
27+
{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}
28+
</style>
2729
</head>
2830
<body class="tc-body">
2931
{{$:/StaticBanner||$:/core/templates/html-tiddler}}

core/templates/tiddlywiki5.html.tid

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ title: $:/core/templates/tiddlywiki5.html
2525
`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}
2626
{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}
2727
{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`
28-
<!--~~ Style section start ~~-->
2928
</head>
3029
<body class="tc-body">
3130
<!--~~ Raw markup for the top of the body section ~~-->

core/ui/RootStylesheet.tid

Lines changed: 0 additions & 13 deletions
This file was deleted.

editions/tw5.com/tiddlers/releasenotes/5.4.0/#8130 - root-stylesheet-refresh.tid

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)