` to surround text in a box.
+
+```
+
This stuff is in a box
+```
+
+Produces:
+
+
This stuff is in a box
+
+Can be combined with icons:
+
+```
+
<> Don't run with scissors.
+```
+
+Produces:
+
+
<> Don't run with scissors.
+
+Combining HTML and Markdown can easily break the Markdown renderer --- you may need to resort to full HTML if you want to do anything fancy inside the box.
+
+For example:
+
+```
+
<> **Don't** run with scissors.
+```
+
+Will produce the following **incorrect** output:
+
+
<> **Don't** run with scissors.
+
+Wheareas the following will work:
+
+```
+
<> Don't run with scissors.
+```
+
+
<> Don't run with scissors.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Boxes.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Boxes.md.meta
new file mode 100644
index 0000000..8177356
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Boxes.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Boxes
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Code Highlighting.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Code Highlighting.tid
new file mode 100644
index 0000000..f104ec3
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Code Highlighting.tid
@@ -0,0 +1,77 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Code Highlighting
+type: text/vnd.tiddlywiki
+
+! Inline Code
+
+Inline code can be created using the back quote character to surround the code. This works in both Markdown and WikiText.
+
+Example:
+
+```
+Blah `blah` blah.
+```
+
+Produces:
+
+Blah `blah` blah.
+
+! Code Blocks
+
+Triple back quotes, and the language:
+
```java
+public static void main(String...args) {
+ System.out.println("Hello, world.");
+}
+```
+
+Produces:
+
+```java
+public static void main(String...args) {
+ System.out.println("Hello, world.");
+}
+```
+
+For a list of supported languages:
+https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md
+
+Note that for plain text (where you don't want syntax highlighting) you can use either:
+
```
+plain text goes here
+```
+
+which produces:
+
+```
+plain text goes here
+```
+
+or
+
+
```plaintext
+plain text goes here
+```
+
+which produces:
+
+```plaintext
+plain text goes here
+```
+
+The difference is that TiddlyWiki handles the first, and the `highlight.js` plugin handles the second. Depending on themes, they can produce output with different styles. We have tried to make the styles consistent, but there may be subtle differences.
+
+You can also use HTML `
` tags with Unicode literals if your content includes things that TiddlyWiki will try to interpret (such as triple-backquotes). Trying to display Markdown source code is a good example of this.
+
+```plaintext
+```
+code goes here
+```
+```
+
+Produces:
+
+```
+code goes here
+```
+
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_HTML.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_HTML.md
new file mode 100644
index 0000000..d373e40
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_HTML.md
@@ -0,0 +1 @@
+You can use HTML in either WikiText or Markdown Tiddlers. The Markdown renderer can be a bit fragile, so you sometimes need to resort to HTML if it loses the plot.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_HTML.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_HTML.md.meta
new file mode 100644
index 0000000..3bff223
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_HTML.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/HTML
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Handy Unicode Characters.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Handy Unicode Characters.md
new file mode 100644
index 0000000..5cb0a04
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Handy Unicode Characters.md
@@ -0,0 +1,41 @@
+Some Unicode characters that are occasionally handy:
+
+* ❭ : `❭`
+
+ `U+0276D` MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+
+ Handy as an ornamental separator. Used by `<>` macro.
+
+* ``` : `````
+
+ Triple back quotes.
+
+ Use with `` tags for formatting things like Markdown or WikiText source code.
+
+* ꤷ : `ꤷ`
+
+ `U+A937` REJANG LETTER BA
+
+ Useful for adding a forward slash to a Tiddler title. **Might not be available in all fonts — it is best to avoid using slashes in titles altogether**.
+
+* ``
+
+ `U+200B` ZERO WIDTH SPACE
+
+ Useful for preventing the Markdown auto-dingus from converting things like (c) into ©.
+
+* @: `@`
+
+ `U+FF20` FULL WIDTH COMMERCIAL AT
+
+ Useful for email addresses that would otherwise be converted into hyperlinks which can cause problems with the very fragile Markdown parser.
+
+* ☺: `☺`
+
+ `U+263A` WHITE SMILING FACE
+
+* ☹: `☹`
+
+ `U+2639` WHITE FROWNING FACE
+
+See: https://www.compart.com/en/unicode/block/U+FF00 for half/full width versions of common characters that might be useful when auto-markup features are getting in the way.
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Handy Unicode Characters.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Handy Unicode Characters.md.meta
new file mode 100644
index 0000000..12e0c1c
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Handy Unicode Characters.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Handy Unicode Characters
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Hidden Tiddlers.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Hidden Tiddlers.md
new file mode 100644
index 0000000..1c3bfaa
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Hidden Tiddlers.md
@@ -0,0 +1 @@
+Tiddlers with titles that start with `$:/` are hidden. They are also excluded from the search.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Hidden Tiddlers.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Hidden Tiddlers.md.meta
new file mode 100644
index 0000000..abd08bb
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Hidden Tiddlers.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Hidden Tiddlers
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Icons.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Icons.tid
new file mode 100644
index 0000000..01ca1fe
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Icons.tid
@@ -0,0 +1,43 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Icons
+type: text/vnd.tiddlywiki
+
+The following macros can be used to include icon characters:
+
+```plaintext
+<> Don't run with scissors.
+```
+Produces:
+
+<> Don't run with scissors.
+
+
+
+```plaintext
+<> Pay attention!
+```
+Produces:
+
+<> Pay attention!
+
+
+
+
+```plaintext
+<>
+```
+Produces:
+
+<>
+
+The path is a Tiddler that contains an image. The image will be automatically scaled, so can be any size.
+
+The icons can be embedded in a paragraph:
+
+```
+Click the <> icon to disconnect from the database.
+```
+
+Produces:
+
+Click the <> icon to download the internet.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_Images.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_Images.tid
new file mode 100644
index 0000000..035c5da
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_Images.tid
@@ -0,0 +1,29 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Images/Images
+type: text/vnd.tiddlywiki
+
+Transclude another tiddler that has SVG/PNG/JPG as its contents:
+
+You use double curly brackets to transclude, with the title of the image in the brackets:
+
+```
+{{$:/Cheatsheet/Cheatsheet/svg_example}}
+```
+Produces:
+{{$:/Cheatsheet/Cheatsheet/svg_example}}
+
+Look at $:/Cheatsheet/Cheatsheet/svg_example for an example of how to create an SVG tiddler. You need to set the type to `image/svg+xml` (or whatever type that the image content is).
+
+!! SVG
+
+You can control the size using a `` with a `width` style:
+
+```
+
{{$:/Cheatsheet/Cheatsheet/svg_example}}
+```
+Produces:
+
+
{{$:/Cheatsheet/Cheatsheet/svg_example}}
+
+Using `
` will make the image fit nicely on a printed page.
+
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_Optimising.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_Optimising.tid
new file mode 100644
index 0000000..d1ba25d
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_Optimising.tid
@@ -0,0 +1,39 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Images/Optimising
+type: text/vnd.tiddlywiki
+
+Since everything is embedded directly inside the HTML file, you should try to keep any images as small as possible (in terms of file size) to prevent the HTML file from becoming too large.
+
+!! SVG
+
+`svgcleaner` seems to be the best tool for reliably shrinkifying SVG files (does a better job of using groups to apply shared styles than `scour`):
+
+https://github.com/RazrFalcon/svgcleaner
+
+Available in Arch as `community/svgcleaner`.
+
+Run using:
+
+```plaintext
+svgcleaner file.svg file_opt.svg
+```
+
+If you want the output in a human readable form rather than one massive line:
+
+```plaintext
+svgcleaner --indent=1 file.svg file_opt.svg
+```
+
+!! PNG
+
+`oxipng` seems to be the best of the commonly available PNG optimisers. It has support for Zopfli which generally offers better compression than zlib.
+
+https://github.com/shssoichiro/oxipng
+
+Available in Arch as `community/oxipng`.
+
+Run using:
+
+```plaintext
+oxipng --strip safe --alpha --zopfli -o max --out file_opt.png file.png
+```
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_PNG and JPEG.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_PNG and JPEG.md
new file mode 100644
index 0000000..353a8c2
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_PNG and JPEG.md
@@ -0,0 +1 @@
+You can create a new Tiddler, and drag and drop the PNG or JPEG from your file manager into the Tiddler.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_PNG and JPEG.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_PNG and JPEG.md.meta
new file mode 100644
index 0000000..b52e064
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_PNG and JPEG.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Images/PNG and JPEG
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_SVG.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_SVG.md
new file mode 100644
index 0000000..04d51a7
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_SVG.md
@@ -0,0 +1,52 @@
+SVG can be copy/pasted straight into a Tiddler. You can then set the type to `image/svg+xml`.
+
+## Controlling Size
+
+If you remove the root level `width` and `height` attributes from the SVG, but leave the `viewBox` then it becomes dynamically resizable, and will automatically fill its container.
+
+You can then control the size using a `
` with a `width` style:
+
+```
+
{{$:/Cheatsheet/Cheatsheet/svg_example}}
+```
+
+Produces:
+
+
{{$:/Cheatsheet/Cheatsheet/svg_example}}
+
+## Printing
+
+Using a `width` of `185mm` makes it fit nicely on a printed A4 portrait page.
+
+## Dark Theme
+
+Some students do use the dark theme. Having an image with a white background can be a bit dazzling when everything else is dark.
+
+There are two solution:
+
+* Don't set a background color at all. The image will use the page background which will be inherited from the theme.
+
+* If you do have black text that needs to be displayed over the background then you need to set the background to something that will have some contrast so that the text is visible. Setting the alpha channel to %50 opaque with a white background is a pretty good compromise --- black text is still clearly visible, but the contrast different will not be dazzling.
+
+Compare the following (flip the dark/light themes).
+
+White background:
+
+
+
+No background:
+
+
+
+Semi-opaque 50% white background:
+
+
+
+
+The following is the SVG code for the semi-opaque versions:
+
+```
+
+```
+
+Note the `style` attribute.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_SVG.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_SVG.md.meta
new file mode 100644
index 0000000..af0d772
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_SVG.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Images/SVG
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_svg_example.svg b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_svg_example.svg
new file mode 100644
index 0000000..085e4ff
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_svg_example.svg
@@ -0,0 +1 @@
+
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_svg_example.svg.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_svg_example.svg.meta
new file mode 100644
index 0000000..6f8274b
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Images_svg_example.svg.meta
@@ -0,0 +1,2 @@
+title: $:/Cheatsheet/Cheatsheet/Images/svg_example
+type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Comments.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Comments.md
new file mode 100644
index 0000000..6d1d7fa
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Comments.md
@@ -0,0 +1,9 @@
+Markdown doesn't have a comment. There are eleventy bazillion different ways of simulating a comment by abusing things to effectively hide a chunk of text, but they are all very sensitive to which Markdown renderer you are using. The safest bet is a `
` with a style that sets `display` to `none`. The <
> class does this:
+
+```
+
+some text that you don't want to appear in the document
+
+```
+
+The text is still in the HTML, so don't use this to hide anything sensitive.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Comments.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Comments.md.meta
new file mode 100644
index 0000000..ee746f7
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Comments.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Comments
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Definition Lists.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Definition Lists.md
new file mode 100644
index 0000000..c879a51
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Definition Lists.md
@@ -0,0 +1,29 @@
+Term 1
+: Definition of term 1.
+
+Term 3
+: Definition of term 2.
+
+Term 3
+: Definition of term 3.
+
+You can nest other blocks in definitions using 3 spaces:
+
+Term 1 with `inline` *markup*
+
+: ```
+ some code
+ ```
+
+ A paragraph
+
+Term 3
+
+: Some other definition
+
+ Another paragraph
+
+ * A list
+ * More list
+
+Cancel/reset a definition list by adding text at the root level.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Definition Lists.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Definition Lists.md.meta
new file mode 100644
index 0000000..6f8a670
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Definition Lists.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Definition Lists
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Emphasis.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Emphasis.md
new file mode 100644
index 0000000..f700bbb
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Emphasis.md
@@ -0,0 +1,11 @@
+*This is italic text* --- `*This is italic text*`
+
+**This is bold text** --- `**This is bold text**`
+
+***This is bold and italic test*** --- `***This is bold and italic test***`
+
+~~Strikethrough~~ --- `~~Strikethrough~~`
+
+++Underline++ --- `++Underline++`
+
+==Highlight== --- `==Highlight==`
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Emphasis.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Emphasis.md.meta
new file mode 100644
index 0000000..550bb57
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Emphasis.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Emphasis
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Headings.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Headings.md
new file mode 100644
index 0000000..6209b9d
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Headings.md
@@ -0,0 +1,19 @@
+# h1 Heading
+
+```
+# h1 Heading
+```
+
+## h2 Heading
+
+```
+## h2 Heading
+```
+
+### h3 Heading
+
+```
+### h2 Heading
+```
+
+Can go as far as `h6` (six hash characters).
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Headings.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Headings.md.meta
new file mode 100644
index 0000000..83c698e
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Headings.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Headings
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Horizontal Rules.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Horizontal Rules.md
new file mode 100644
index 0000000..8e92a1b
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Horizontal Rules.md
@@ -0,0 +1,13 @@
+Can use either 3 dashes or 3 asterisks to draw a horizontal rule:
+
+```
+___
+```
+
+```
+***
+
+```
+Either produces:
+
+---
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Horizontal Rules.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Horizontal Rules.md.meta
new file mode 100644
index 0000000..9adff8b
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Horizontal Rules.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Horizontal Rules
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Links.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Links.md
new file mode 100644
index 0000000..a882a1e
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Links.md
@@ -0,0 +1,44 @@
+## External Links
+
+URLs will be converted to links automatically:
+
+```
+https://google.com
+```
+
+Produces:
+
+https://google.com
+
+If you want to change the text that is displayed then use:
+
+```
+[Google](https://google.com)
+```
+Produces:
+
+[Google](https://google.com)
+
+This can be embedded in the middle of other text if needed.
+
+## Internal Links (links to Tiddlers)
+
+There are a couple of macros for creating internal links from Tiddler titles:
+
+```
+<>
+```
+Produces:
+
+<>
+
+The path is the full title of the Tiddler.
+
+This following produces a section number link (similar to `\ref` in LaTeX):
+
+```
+<>
+```
+Assuming the Contents page has a `section` field (which it doesn't), the section number would be displayed with a link to that Tiddler.
+
+Be careful with spaces before the closing angle brackets with macros --- the Markdown parser is a bit fragile and will break if there are spaces.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Links.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Links.md.meta
new file mode 100644
index 0000000..a385b01
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Links.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Links
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Lists & Blockquotes.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Lists & Blockquotes.md
new file mode 100644
index 0000000..ebe5244
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Lists & Blockquotes.md
@@ -0,0 +1,108 @@
+## Blockquotes
+
+```
+> Nest can also be nested...
+>> ...by using additional greater-than signs right next to each other...
+> > > ...or with spaces between arrows.
+```
+
+Produces:
+
+> Blockquotes can also be nested...
+>> ...by using additional greater-than signs right next to each other...
+> > > ...or with spaces between arrows.
+
+
+## Lists
+
+### Unordered (bullet lists)
+
+Use `*` followed by a space.
+```
+* Blah
+* Blah
+* Create sub-lists by indenting 2 spaces
+ * Blahdy
+ * Blah
+* Blah blah
+```
+
+Produces:
+
+* Blah
+* Blah
+* Create sub-lists by indenting 3 spaces
+ * Blahdy
+ * Blah
+* Blah blah
+
+
+### Ordered (numbered lists)
+
+Use a number followed by a full-stop, followed by a space.
+
+```
+1. Lorem ipsum dolor sit amet
+2. Consectetur adipiscing elit
+3. Integer molestie lorem at massa
+```
+Produces
+
+1. Lorem ipsum dolor sit amet
+2. Consectetur adipiscing elit
+3. Integer molestie lorem at massa
+
+
+You don't need to increment the number - it will happen automatically.
+
+```
+1. Lorem ipsum dolor sit amet
+1. Consectetur adipiscing elit
+1. Integer molestie lorem at massa
+```
+
+Produces the same output.
+
+### Mixed
+
+You can mix and nest lists with other things using 3 spaces:
+
+```
+1. Step 1
+ * a
+ * b
+ 1. Blah
+
+ ```
+ code block
+ ```
+
+ 1. Blah
+
+ This is a paragraph
+
+ * c
+
+1. Step 2.
+```
+
+Produces
+
+1. Step 1
+ * a
+ * b
+ 1. Blah
+
+ ```
+ code block
+ ```
+
+ 1. Blah
+
+ This is a paragraph
+
+ * c
+
+1. Step 2.
+
+Just make sure that you are consistent with the spaces and only have a single blank-line.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Lists & Blockquotes.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Lists & Blockquotes.md.meta
new file mode 100644
index 0000000..c72c398
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Lists & Blockquotes.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Lists & Blockquotes
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Tables.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Tables.md
new file mode 100644
index 0000000..47a3765
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Tables.md
@@ -0,0 +1,19 @@
+Simple tables an be done with Markdown:
+
+```
+| Key | Value |
+| --- | ---- |
+| a | 1 |
+| b | 2 |
+| c | 3 |
+```
+
+Produces:
+
+| Key | Value |
+| --- | ---- |
+| a | 1 |
+| b | 2 |
+| c | 3 |
+
+For anything fancier than that you should use HTML.
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Tables.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Tables.md.meta
new file mode 100644
index 0000000..7894c55
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Tables.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Tables
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Typographic Replacements.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Typographic Replacements.md
new file mode 100644
index 0000000..2ca7e4a
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Typographic Replacements.md
@@ -0,0 +1,68 @@
+The Remarkable Markdown library does the following auto-replacements:
+
+```
+(c) (C) (r) (R) (tm) (TM) (p) (P) +-
+```
+
+Produces:
+
+(c) (C) (r) (R) (tm) (TM) (p) (P) +-
+
+Note that this can be annoying if you are trying to create a set of questions that have part (a), (b), and (c) since the (c) gets auto-replaced. This can be thwarted using a zero-width space:
+
+```
+(c)
+```
+
+Produces:
+
+(c)
+
+Thanks to Nigel who came up with this solution.
+
+---
+
+It collapses extra punctuation into standard forms:
+
+```
+test.....
+test!!!!!
+test?????
+test,,,,,
+```
+Produces:
+
+test.....
+test!!!!!
+test?????
+test,,,,,
+
+---
+
+It produces the appropriate dash character:
+
+```
+a - b
+a -- b
+a --- b
+```
+
+Produces:
+
+a - b
+a -- b
+a --- b
+
+---
+
+It will convert straight quotes to the appropriate open/close quotes:
+
+```
+"speech marks"
+'single quotes'
+```
+
+Produces:
+
+"speech marks"
+'single quotes'
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Typographic Replacements.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Typographic Replacements.md.meta
new file mode 100644
index 0000000..0e9176b
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Markdown_Typographic Replacements.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Markdown/Typographic Replacements
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Menu Keys.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Menu Keys.tid
new file mode 100644
index 0000000..a0ebc8c
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Menu Keys.tid
@@ -0,0 +1,36 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Menu Keys
+type: text/vnd.tiddlywiki
+
+These macros provide similar functionality to the LaTeX `menukeys` package. It provides macros for showing instructions that contain keyboard shortcuts, menu navigation, and file system navigation.
+
+!! Keyboard Shortcuts
+```plaintext
+< Space">>
+```
+Produces:
+
+< Space">>
+
+!! Menu/UI Navigation
+```plaintext
+< Save">>
+```
+Produces:
+
+< Save">>
+
+!!File/Folder Paths
+```plaintext
+<>
+```
+Produces:
+
+<>
+
+```plaintext
+<>
+```
+Produces:
+
+<>
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_PlantUML.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_PlantUML.tid
new file mode 100644
index 0000000..b43ebfb
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_PlantUML.tid
@@ -0,0 +1,49 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/PlantUML
+type: text/vnd.tiddlywiki
+
+Note that the Markdown plugin and PlantUML plugin do not play nicely --- use WikiText if using the PlantUML plugin.
+
+!! Showing Diagram Only
+
+```
+[[plantuml[
+@startuml
+a -> b : do stuff
+@enduml
+]]]
+```
+
+Produces:
+
+[[plantuml[
+@startuml
+a -> b : do stuff
+@enduml
+]]]
+
+!! Showing Diagram with Code
+
+```
+< b : do stuff
+@enduml
+"""
+>>
+```
+
+Produces:
+
+< b : do stuff
+@enduml
+"""
+>>
+
+See: $:/ou/macros/pudiagram for more information on the diagram+code macro.
+
+See: http://tobibeer.github.io/tw5-plugins/#plantuml for more information on the PlantUML plugin.
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Transclusion.md b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Transclusion.md
new file mode 100644
index 0000000..ff8dc84
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Transclusion.md
@@ -0,0 +1,9 @@
+You can embed the contents of another tiddler using double braces. This can be used to include images, or Tiddler that represent parameter values.
+
+```
+The paper code for this course is: {{$:/ou/parameters/Paper Code}}
+```
+
+Produces:
+
+The paper code for this course is: {{$:/ou/parameters/Paper Code}}
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Transclusion.md.meta b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Transclusion.md.meta
new file mode 100644
index 0000000..f877a8f
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_Transclusion.md.meta
@@ -0,0 +1,3 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/Transclusion
+type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_WikiText.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_WikiText.tid
new file mode 100644
index 0000000..4b8387b
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Cheatsheet_WikiText.tid
@@ -0,0 +1,5 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Cheatsheet/WikiText
+type: text/vnd.tiddlywiki
+
+See: http://tobibeer.github.io/tb5/#Markup
diff --git a/tiddlers/system/cheatsheet/$__Cheatsheet_Contents.tid b/tiddlers/system/cheatsheet/$__Cheatsheet_Contents.tid
new file mode 100644
index 0000000..9202268
--- /dev/null
+++ b/tiddlers/system/cheatsheet/$__Cheatsheet_Contents.tid
@@ -0,0 +1,6 @@
+tags: cheatsheet
+title: $:/Cheatsheet/Contents
+type: text/vnd.tiddlywiki
+
+<>
+<$macrocall $name="openByFilter" filter="[tag[cheatsheet]]">$macrocall>
diff --git a/tiddlers/system/cheatsheet/$__ou_cheatsheet_cheatsheet.tid b/tiddlers/system/cheatsheet/$__ou_cheatsheet_cheatsheet.tid
deleted file mode 100644
index 939f0cc..0000000
--- a/tiddlers/system/cheatsheet/$__ou_cheatsheet_cheatsheet.tid
+++ /dev/null
@@ -1,201 +0,0 @@
-tags:
-title: $:/ou/cheatsheet/cheatsheet
-type: text/vnd.tiddlywiki
-
-For Markdown cheatsheet, see: $:/ou/cheatsheet/markdown
-
-! Keyboard Shortcuts
-```
-< Space">>
-```
-Produces: < Space">>
-
-Don't use trailing spaces after the closing speech mark --- it breaks things due to a bug in the markdown parser. It is OK with WikiText, but it probably best to get out of the habit of using spaces.
-
-! Menu/UI Navigation
-```
-< Save">>
-```
-Produces: < Save">>
-
-!File Paths
-Normal inline code style using single back quotes.
-`T:\InfoSci\Common`
-
-Produces: `T:\InfoSci\Common`
-
-!Code
-
-Triple back quotes, and the language:
-```java
-public static void main(String...args) { }
-```
-
-Produces:
-
-```java
-public static void main(String...args) { }
-```
-
-Note that for plain text (where you don't want syntax highlighting) you can use either:
-```
-plain text goes here
-```
-
-which produces:
-
-```
-plain text goes here
-```
-
-or
-
-```plaintext
-plain text goes here
-```
-
-which produces:
-
-```plaintext
-plain text goes here
-```
-
-The difference is that TiddlyWiki handles the first, and the `highlight.js` plugin handles the second. Depending on themes, they can produce output with different styles.
-
-You will often need a blank line before/after the back quotes.
-
-You can also use HTML `` tags with Unicode literals if your content includes things that TiddlyWiki will try to interpret (such as triple-backquotes). Trying to display Markdown source code is a good example of this.
-
-```
-```
-code goes here
-```
-```
-
-Produces:
-
-```
-code goes here
-```
-
-
-!Diagrams
-Transclude another tiddler that has SVG as its contents:
-
-```
-{{$:/ou/cheatsheet/svg_example}}
-```
-produces
-
-{{$:/ou/cheatsheet/svg_example}}
-
-Look at $:/ou/cheatsheet/svg_example for an example of how to create an SVG tiddler. You need to set the type to `image/svg+xml`.
-
-! Paragraphs/Code in Lists (WikiText)
-
-Note: The following relates to WikiText. As a general rule, WikiText is a bit crap at doing anything complicated, so use Markdown instead.
-
-Use triple double quotes `"""` to group paragraphs with a list item. The quotes wrap the grouped content:
-
-```
-# """Do stuff.
-Here is how to do stuff."""
-# Do more stuff.
-```
-
-# """Do stuff
-Here is how to do stuff."""
-# Do more stuff.
-
-This trick doesn't work with code blocks. Use a `` for grouping code in lists. The open `
` goes at the ''end'' of the list item:
-
-
# Here is some code:<div>
-
-```java
-public static void main()
-```
-</div>
-# That was some code.
-
-
-# Here is some code:
-
-```java
-public static void main(String...args) {}
-```
-
-# That was some code.
-
-Note^^1^^ that if worst comes to worst you can always use pure HTML for complicated lists (or anything else).
-
-Note^^2^^ using markdown tiddlers solves many of these problems. For anything complicated - use Markdown rather than WikiText (set the type to `text/x-markdown`).
-
-!Indenting (WikiText)
-
-Colons at the start of a paragraph will indent it. Repeat for additional levels:
-
-```
-: a
-:: b
-::: c
-:: d
-: e
-```
-: a
-:: b
-::: c
-:: d
-: e
-
-!! PlantUML
-
-!!! Showing Diagram Only
-
-```
-[[plantuml[
-@startuml
-a -> b : do stuff
-@enduml
-]]]
-```
-
-Produces:
-
-[[plantuml[
-@startuml
-a -> b : do stuff
-@enduml
-]]]
-
-!!! Showing Diagram with Code
-
-```
-<
b : do stuff
-@enduml
-"""
->>
-```
-
-Produces:
-
-< b : do stuff
-@enduml
-"""
->>
-
-See: $:/ou/macros/pudiagram for more information on the diagram+code macro.
-
-See: http://tobibeer.github.io/tw5-plugins/#plantuml for more infromation on the PlantUML plugin.
-
-! Handy Unicode Characters
-* ❭ : `❭`
-* ```:`````: Triple back quotes. Use with `` tags for formatting things like Markdown or WikiText source code.
-
-! Other Useful Resources
-* http://tobibeer.github.io/tb5/#Markup - WikiText markup reference.
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__ou_cheatsheet_markdown.md b/tiddlers/system/cheatsheet/$__ou_cheatsheet_markdown.md
deleted file mode 100644
index 2f93ac5..0000000
--- a/tiddlers/system/cheatsheet/$__ou_cheatsheet_markdown.md
+++ /dev/null
@@ -1,160 +0,0 @@
-# Remarkable
-
-Markdown via the Remarkable library.
-
-The following is what bits of the Remarkable demo does seem to work properly with TiddlyWiki (most of it luckily).
-
-This is also a useful reference for Markdown in TiddlyWiki. Edit to see Markdown source.
-
-***
-
-# h1 Heading
-## h2 Heading
-### h3 Heading
-#### h4 Heading
-##### h5 Heading
-###### h6 Heading
-
-
-## Horizontal Rules
-
-___
-
-***
-
-***
-
-
-## Typographic replacements
-
-(c) (C) (r) (R) (tm) (TM) (p) (P) +-
-
-test.. test... test..... test?..... test!....
-
-!!!!!! ???? ,,
-
-Remarkable --- awesome
-
-"Smartypants, double quotes"
-
-'Smartypants, single quotes'
-
-
-## Emphasis
-
-**This is bold text**
-
-__This is bold text__
-
-*This is italic text*
-
-_This is italic text_
-
-***This is bold and italic test***
-
-~~Deleted text~~
-
-++Inserted text++
-
-==Marked text==
-
-
-## Blockquotes
-
-> Blockquotes can also be nested...
->> ...by using additional greater-than signs right next to each other...
-> > > ...or with spaces between arrows.
-
-
-## Lists
-
-Unordered
-
-+ Create a list by starting a line with `+`, `-`, or `*`
-+ Sub-lists are made by indenting 2 spaces:
- - Marker character change forces new list start:
- * Ac tristique libero volutpat at
- + Facilisis in pretium nisl aliquet
- - Nulla volutpat aliquam velit
-+ Very easy!
-
-Ordered
-
-1. Lorem ipsum dolor sit amet
-2. Consectetur adipiscing elit
-3. Integer molestie lorem at massa
-
-You don't need to increment the number - it will happen automatically.
-
-1. Lorem ipsum dolor sit amet
-1. Consectetur adipiscing elit
-1. Integer molestie lorem at massa
-
-
-## Code
-
-Inline `code`
-
-Indented code
-
- // Some comments
- line 1 of code
- line 2 of code
- line 3 of code
-
-
-Block code "fences"
-
-```
-Sample text here...
-```
-
-Syntax highlighting
-
-``` js
-var foo = function (bar) {
- return bar++;
-};
-
-console.log(foo(5));
-```
-
-## Tables
-
-| Option | Description |
-| ------ | ----------- |
-| data | path to data files to supply the data that will be passed into templates. |
-| engine | engine to be used for processing templates. Handlebars is the default. |
-| ext | extension to be used for dest files. |
-
-
-## Links
-
-[link text](http://dev.nodeca.com)
-
-Autoconverted link https://github.com/nodeca/pica
-
-
-## Definition lists
-
-Term 1
-
-: Definition 1
-with lazy continuation.
-
-Term 2 with *inline markup*
-
-: Definition 2
-
- { some code, part of Definition 2 }
-
- Third paragraph of definition 2.
-
-_Compact style:_
-
-Term 1
- ~ Definition 1
-
-Term 2
- ~ Definition 2a
- ~ Definition 2b
diff --git a/tiddlers/system/cheatsheet/$__ou_cheatsheet_markdown.md.meta b/tiddlers/system/cheatsheet/$__ou_cheatsheet_markdown.md.meta
deleted file mode 100644
index 039da25..0000000
--- a/tiddlers/system/cheatsheet/$__ou_cheatsheet_markdown.md.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags:
-title: $:/ou/cheatsheet/markdown
-type: text/x-markdown
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__ou_cheatsheet_svg_example.svg b/tiddlers/system/cheatsheet/$__ou_cheatsheet_svg_example.svg
deleted file mode 100644
index e21e9d6..0000000
--- a/tiddlers/system/cheatsheet/$__ou_cheatsheet_svg_example.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/tiddlers/system/cheatsheet/$__ou_cheatsheet_svg_example.svg.meta b/tiddlers/system/cheatsheet/$__ou_cheatsheet_svg_example.svg.meta
deleted file mode 100644
index 8a114d7..0000000
--- a/tiddlers/system/cheatsheet/$__ou_cheatsheet_svg_example.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags:
-title: $:/ou/cheatsheet/svg_example
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_h2.png b/tiddlers/system/common-svg/$__ou_clipart_h2.png
deleted file mode 100644
index ba59bf6..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_h2.png
+++ /dev/null
Binary files differ
diff --git a/tiddlers/system/common-svg/$__ou_clipart_h2.png.meta b/tiddlers/system/common-svg/$__ou_clipart_h2.png.meta
deleted file mode 100644
index 44e18d0..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_h2.png.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/h2
-type: image/png
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_h2_disconnect.svg b/tiddlers/system/common-svg/$__ou_clipart_h2_disconnect.svg
deleted file mode 100644
index 2da5cfd..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_h2_disconnect.svg
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_h2_disconnect.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_h2_disconnect.svg.meta
deleted file mode 100644
index 18724f6..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_h2_disconnect.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/h2_disconnect
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-clippy.svg b/tiddlers/system/common-svg/$__ou_clipart_octicon-clippy.svg
deleted file mode 100644
index ef5d6a3..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-clippy.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-clippy.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_octicon-clippy.svg.meta
deleted file mode 100644
index d859893..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-clippy.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/octicon-clippy
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-cloud-download.svg b/tiddlers/system/common-svg/$__ou_clipart_octicon-cloud-download.svg
deleted file mode 100644
index e480a1e..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-cloud-download.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-cloud-download.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_octicon-cloud-download.svg.meta
deleted file mode 100644
index d6d07e8..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-cloud-download.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/octicon-cloud-download
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-moon.tid b/tiddlers/system/common-svg/$__ou_clipart_octicon-moon.tid
deleted file mode 100644
index b679892..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-moon.tid
+++ /dev/null
@@ -1,6 +0,0 @@
-tags: clipart $:/tags/Image
-title: $:/ou/clipart/octicon-moon
-type: text/vnd.tiddlywiki
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-plus.svg b/tiddlers/system/common-svg/$__ou_clipart_octicon-plus.svg
deleted file mode 100644
index 23c27d8..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-plus.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-plus.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_octicon-plus.svg.meta
deleted file mode 100644
index 5c72a3b..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-plus.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/octicon-plus
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_octicon-sun.tid b/tiddlers/system/common-svg/$__ou_clipart_octicon-sun.tid
deleted file mode 100644
index 883bd77..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_octicon-sun.tid
+++ /dev/null
@@ -1,5 +0,0 @@
-tags: clipart $:/tags/Image
-title: $:/ou/clipart/octicon-sun
-type: text/vnd.tiddlywiki
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-commit.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-commit.svg
deleted file mode 100644
index f219f93..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-commit.svg
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-commit.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-commit.svg.meta
deleted file mode 100644
index 7c92655..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-commit.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-commit
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-dotdotdot.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-dotdotdot.svg
deleted file mode 100644
index a5329c5..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-dotdotdot.svg
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-dotdotdot.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-dotdotdot.svg.meta
deleted file mode 100644
index 15f2118..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-dotdotdot.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-dotdotdot
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-explorer.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-explorer.svg
deleted file mode 100644
index 184c0a2..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-explorer.svg
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-explorer.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-explorer.svg.meta
deleted file mode 100644
index a9273ac..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-explorer.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-explorer
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-file.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-new-file.svg
deleted file mode 100644
index dc9afe0..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-file.svg
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-file.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-new-file.svg.meta
deleted file mode 100644
index 00267b5..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-file.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-new-file
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-folder.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-new-folder.svg
deleted file mode 100644
index 05d53dd..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-folder.svg
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-folder.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-new-folder.svg.meta
deleted file mode 100644
index 50cc119..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-new-folder.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-new-folder
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-refresh.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-refresh.svg
deleted file mode 100644
index 63d3951..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-refresh.svg
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-refresh.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-refresh.svg.meta
deleted file mode 100644
index 67e46dd..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-refresh.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-refresh
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-scm.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-scm.svg
deleted file mode 100644
index 2408710..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-scm.svg
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-scm.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-scm.svg.meta
deleted file mode 100644
index 75d7835..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-scm.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-scm
-type: image/svg+xml
\ No newline at end of file
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-search.svg b/tiddlers/system/common-svg/$__ou_clipart_vscode-search.svg
deleted file mode 100644
index af19c2d..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-search.svg
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
diff --git a/tiddlers/system/common-svg/$__ou_clipart_vscode-search.svg.meta b/tiddlers/system/common-svg/$__ou_clipart_vscode-search.svg.meta
deleted file mode 100644
index 8530057..0000000
--- a/tiddlers/system/common-svg/$__ou_clipart_vscode-search.svg.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-tags: clipart
-title: $:/ou/clipart/vscode-search
-type: image/svg+xml
\ No newline at end of file
diff --git "a/tiddlers/system/editing/$__ou_editing_\043edit.tid" "b/tiddlers/system/editing/$__ou_editing_\043edit.tid"
index 9cd92b1..806571e 100644
--- "a/tiddlers/system/editing/$__ou_editing_\043edit.tid"
+++ "b/tiddlers/system/editing/$__ou_editing_\043edit.tid"
@@ -1,6 +1,3 @@
-created: 20200705193646377
-modified: 20200706074215251
-tags:
title: $:/ou/editing/#edit
type: text/vnd.tiddlywiki
@@ -20,7 +17,7 @@
<$button to="$:/TagManager" >Tag Manager$button>
!! Cheat Sheet
-[[Cheat Sheet|$:/ou/cheatsheet/cheatsheet]]
+[[Cheat Sheet|$:/Cheatsheet/Contents]]
!!Probable Garbage
@@ -37,7 +34,7 @@
!! Changed Tiddlers
-This are the tiddlers that have changed since last save.
+These are the tiddlers that have changed since last save.
<
>
diff --git a/tiddlers/system/editing/$__ou_editing_Incomplete.tid b/tiddlers/system/editing/$__ou_editing_Incomplete.tid
index 716d89b..79c7272 100644
--- a/tiddlers/system/editing/$__ou_editing_Incomplete.tid
+++ b/tiddlers/system/editing/$__ou_editing_Incomplete.tid
@@ -1,5 +1,4 @@
caption: Incomplete
-tags:
title: $:/ou/editing/Incomplete
type: text/vnd.tiddlywiki
diff --git a/tiddlers/system/editing/$__ou_editing_To Do.md.meta b/tiddlers/system/editing/$__ou_editing_To Do.md.meta
index 3e8164b..48a54d6 100644
--- a/tiddlers/system/editing/$__ou_editing_To Do.md.meta
+++ b/tiddlers/system/editing/$__ou_editing_To Do.md.meta
@@ -1,4 +1,3 @@
caption: To Do
-tags:
title: $:/ou/editing/To Do
-type: text/vnd.tiddlywiki
\ No newline at end of file
+type: text/vnd.tiddlywiki
diff --git a/tiddlers/system/icons/$__ou_clipart_octoicons_octicon-moon.tid b/tiddlers/system/icons/$__ou_clipart_octoicons_octicon-moon.tid
new file mode 100644
index 0000000..03e2260
--- /dev/null
+++ b/tiddlers/system/icons/$__ou_clipart_octoicons_octicon-moon.tid
@@ -0,0 +1,6 @@
+tags: clipart $:/tags/Image
+title: $:/ou/clipart/octoicons/octicon-moon
+type: text/vnd.tiddlywiki
+
+
+
diff --git a/tiddlers/system/icons/$__ou_clipart_octoicons_octicon-sun.tid b/tiddlers/system/icons/$__ou_clipart_octoicons_octicon-sun.tid
new file mode 100644
index 0000000..0ba44bc
--- /dev/null
+++ b/tiddlers/system/icons/$__ou_clipart_octoicons_octicon-sun.tid
@@ -0,0 +1,5 @@
+tags: clipart $:/tags/Image
+title: $:/ou/clipart/octoicons/octicon-sun
+type: text/vnd.tiddlywiki
+
+
diff --git a/tiddlers/system/macros/$__ou_macros_CollapsibleTree.tid b/tiddlers/system/macros/$__ou_macros_CollapsibleTree.tid
deleted file mode 100644
index 3eda5bb..0000000
--- a/tiddlers/system/macros/$__ou_macros_CollapsibleTree.tid
+++ /dev/null
@@ -1,67 +0,0 @@
-created: 20200702112112330
-modified: 20200706222227355
-tags: $:/tags/Macro
-title: $:/ou/macros/CollapsibleTree
-type: text/vnd.tiddlywiki
-
-\define collapsible-leaf-link(full-title,chunk,separator: "/")
-<$set name="section" tiddler=<<__full-title__>> field="section">
-<$list filter="[title[$(full-title)$]!has[section]]">
-<$link to=<<__full-title__>>><$text text=<<__chunk__>>/>$link>
-$list>
-<$list filter="[title[$(full-title)$]has[section]]">
-<$link to=<<__full-title__>>><$text text=<>/>. <$text text=<<__chunk__>>/>$link>
-$list>
-$set>
-\end
-
-\define collapsible-leaf-node(prefix,chunk)
-
-<$list filter="[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]" variable="full-title">
-<$list filter="[removeprefix<__prefix__>]" variable="chunk">
-{{$:/core/images/file}} <$macrocall $name="collapsible-leaf-link" full-title=<> chunk=<>/>
-$list>
-$list>
-
-\end
-
-\define collapsible-branch-node(prefix,chunk,separator: "/")
-
-<$set name="reveal-state" value={{{ [[$:/state/stree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>
-<$reveal type="nomatch" stateTitle=<> text="show">
-<$button setTitle=<> setTo="show" class="tc-btn-invisible">
-<$set name="stripped" filter="[[$chunk$]removesuffix[$separator$]]" >
-{{$:/core/images/folder}} <>
-$set>
-$button>
-$reveal>
-<$reveal type="match" stateTitle=<> text="show">
-<$button setTitle=<> setTo="hide" class="tc-btn-invisible">
-<$set name="stripped" filter="[[$chunk$]removesuffix[$separator$]]" >
-{{$:/core/images/folder}} <>
-$set>
-$button>
-$reveal>
-<$reveal type="match" stateTitle=<> text="show">
-<$macrocall $name="collapsible-tree-node" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>
-$reveal>
-$set>
-
-\end
-
-\define collapsible-tree-node(prefix,separator: "/")
-
-<$list filter="[all[tiddlers]!has[section]removeprefix<__prefix__>splitbefore<__separator__>sortan[]!suffix<__separator__>] [all[tiddlers]has[section]sortan[section]removeprefix<__prefix__>splitbefore<__separator__>!suffix<__separator__>]" variable="chunk">
-<$macrocall $name="collapsible-leaf-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
-$list>
-<$list filter="[all[tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sortan[]suffix<__separator__>]" variable="chunk">
-<$macrocall $name="collapsible-branch-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
-$list>
-
-\end
-
-\define collapsible-tree(prefix: "$:/",separator: "/")
-
-<$macrocall $name="collapsible-tree-node" prefix=<<__prefix__>> separator=<<__separator__>>/>
-
-\end
\ No newline at end of file
diff --git a/tiddlers/system/macros/$__ou_macros_ContentsTree.tid b/tiddlers/system/macros/$__ou_macros_ContentsTree.tid
deleted file mode 100644
index 0952efe..0000000
--- a/tiddlers/system/macros/$__ou_macros_ContentsTree.tid
+++ /dev/null
@@ -1,52 +0,0 @@
-created: 20200702112112330
-modified: 20200706222227355
-tags: $:/tags/Macro
-title: $:/ou/macros/ContentsTree
-type: text/vnd.tiddlywiki
-
-\define contents-leaf-link(full-title,chunk,separator: "/")
-<$set name="section" tiddler=<<__full-title__>> field="section">
-<$list filter="[title[$(full-title)$]!has[section]]">
-<$link to=<<__full-title__>>><$text text=<<__chunk__>>/>$link>
-$list>
-<$list filter="[title[$(full-title)$]has[section]]">
-<$link to=<<__full-title__>>><$text text=<>/>. <$text text=<<__chunk__>>/>$link>
-$list>
-$set>
-\end
-
-\define contents-leaf-node(prefix,chunk)
-
-<$list filter="[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]" variable="full-title">
-<$list filter="[removeprefix<__prefix__>]" variable="chunk">
-<$macrocall $name="contents-leaf-link" full-title=<> chunk=<>/>
-$list>
-$list>
-
-\end
-
-\define contents-branch-node(prefix,chunk,separator: "/")
-
-<$set name="stripped" filter="[[$chunk$]removesuffix[$separator$]]" >
-<>
-$set>
-<$macrocall $name="contents-tree-node" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>
-
-\end
-
-\define contents-tree-node(prefix,separator: "/")
-
-<$list filter="[!is[system]!has[section]!tag[image]!tag[hidden]!tag[toc]removeprefix<__prefix__>splitbefore<__separator__>sortan[]!suffix<__separator__>] [all[tiddlers]has[section]sortan[section]removeprefix<__prefix__>splitbefore<__separator__>!suffix<__separator__>]" variable="chunk">
-<$macrocall $name="contents-leaf-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
-$list>
-<$list filter="[all[tiddlers]!tag[toc]!tag[hidden]!tag[image]removeprefix<__prefix__>splitbefore<__separator__>sortan[]suffix<__separator__>]" variable="chunk">
-<$macrocall $name="contents-branch-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
-$list>
-
-\end
-
-\define contents-tree(path, separator: "/")
-
-<$macrocall $name="contents-tree-node" prefix=<<__path__>> separator=<<__separator__>>/>
-
-\end
\ No newline at end of file
diff --git a/tiddlers/system/macros/$__ou_macros_EditMode.tid b/tiddlers/system/macros/$__ou_macros_EditMode.tid
deleted file mode 100644
index 48233e1..0000000
--- a/tiddlers/system/macros/$__ou_macros_EditMode.tid
+++ /dev/null
@@ -1,24 +0,0 @@
-created: 20200702100633703
-modified: 20200706074545914
-tags: $:/tags/Macro
-title: $:/ou/macros/EditMode
-type: text/vnd.tiddlywiki
-
-\define editMode()
-<$fieldmangler tiddler="$:/core/ui/SideBar/More">
-<$action-sendmessage $message="tm-add-tag" $param="$:/tags/SideBar"/>
-$fieldmangler>
-<$action-setfield $tiddler="$:/config/PageControlButtons/Visibility/$:/plugins/tiddlywiki/markdown/new-markdown-button" text="show"/>
-<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit" text="show"/>
-<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions" text="show"/>
-\end
-
-\define publishMode()
-<$fieldmangler tiddler="$:/core/ui/SideBar/More">
-<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/SideBar"/>
-$fieldmangler>
-<$action-setfield $tiddler="$:/config/PageControlButtons/Visibility/$:/plugins/tiddlywiki/markdown/new-markdown-button" text="hide"/>
-<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit" text="hide"/>
-<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions" text="hide"/>
-\end
-
diff --git a/tiddlers/system/macros/$__ou_macros_Icons.tid b/tiddlers/system/macros/$__ou_macros_Icons.tid
index a34341c..95b1222 100644
--- a/tiddlers/system/macros/$__ou_macros_Icons.tid
+++ b/tiddlers/system/macros/$__ou_macros_Icons.tid
@@ -1,5 +1,3 @@
-created: 20200703065308466
-modified: 20200703103856073
tags: $:/tags/Macro
title: $:/ou/macros/Icons
type: text/vnd.tiddlywiki
@@ -43,4 +41,4 @@
<>
-The path is a Tiddler that contains an image.
\ No newline at end of file
+The path is a Tiddler that contains an image.
diff --git a/tiddlers/system/macros/$__ou_macros_LinkEncode.tid b/tiddlers/system/macros/$__ou_macros_LinkEncode.tid
deleted file mode 100644
index 4dc754b..0000000
--- a/tiddlers/system/macros/$__ou_macros_LinkEncode.tid
+++ /dev/null
@@ -1,7 +0,0 @@
-tags: $:/tags/Macro
-title: $:/ou/macros/LinkEncode
-type: text/vnd.tiddlywiki
-
-\define linkEncode(title, path)
-[$title$](#{{{ [[$path$]encodeuri[]]}}})
-\end
\ No newline at end of file
diff --git a/tiddlers/system/macros/$__ou_macros_LinksFromPath.tid b/tiddlers/system/macros/$__ou_macros_LinksFromPath.tid
index 5701a69..70dd1db 100644
--- a/tiddlers/system/macros/$__ou_macros_LinksFromPath.tid
+++ b/tiddlers/system/macros/$__ou_macros_LinksFromPath.tid
@@ -1,5 +1,3 @@
-created: 20200702092958496
-modified: 20200702110313440
tags: $:/tags/Macro
title: $:/ou/macros/LinksFromPath
type: text/vnd.tiddlywiki
@@ -12,14 +10,14 @@
<$list filter="[title[$path$]]"><$link>$text$ $link>$list>
\end
-A collection of macros that will properly encode links with wonky characters in them. Works in both Markdown and WikiText.
+A collection of macros for producing internal links from Tiddler paths. Works in both Markdown and WikiText.
!linkFromPath
Renders a link displaying the given text for a tiddler at the given path.
```
-<>
+<>
```
!sectionFromPath
diff --git a/tiddlers/system/macros/$__ou_macros_MarkIncomplete.tid b/tiddlers/system/macros/$__ou_macros_MarkIncomplete.tid
deleted file mode 100644
index d5d7de1..0000000
--- a/tiddlers/system/macros/$__ou_macros_MarkIncomplete.tid
+++ /dev/null
@@ -1,13 +0,0 @@
-created: 20200702092958496
-modified: 20200702110313440
-tags: $:/tags/Macro
-title: $:/ou/macros/MarkIncomplete
-type: text/vnd.tiddlywiki
-
-\define markIncompleteByPath(path)
-<$list filter="[!is[system]prefix[$path$]]">
-<$fieldmangler>
-<$action-sendmessage $message="tm-add-tag" $param="incomplete"/>
-$fieldmangler>
-$list>
-\end
\ No newline at end of file
diff --git a/tiddlers/system/macros/$__ou_macros_MenuKeys.tid b/tiddlers/system/macros/$__ou_macros_MenuKeys.tid
index 6360274..17a22af 100644
--- a/tiddlers/system/macros/$__ou_macros_MenuKeys.tid
+++ b/tiddlers/system/macros/$__ou_macros_MenuKeys.tid
@@ -1,56 +1,87 @@
-created: 20200703065308466
-modified: 20200703103856073
+created: 20211210082237977
+modified: 20211210082511034
tags: $:/tags/Macro
title: $:/ou/macros/MenuKeys
type: text/vnd.tiddlywiki
\define keys(path)
-<$list filter="[[$path$]split[>]trim[]first[]]">
-<>
-$list>
-<$list filter="[[$path$]split[>]trim[]rest[]]">
-+ <>
-$list>
+<$list filter="[[$path$]split[>]trim[]first[]]"><> $list>
+<$list filter="[[$path$]split[>]trim[]rest[]]"> + <> $list>
\end
\define menu(path)
-<$list filter="[[$path$]split[>]trim[]first[]]">
-<>
-$list>
-<$list filter="[[$path$]split[>]trim[]rest[]]">
-❭ <>
-$list>
+<$list filter="[[$path$]split[>]trim[]first[]]"><> $list>
+<$list filter="[[$path$]split[>]trim[]rest[]]"> ❭ <> $list>
\end
\define path(path)
-{{$:/core/images/folder}} $path$
+{{$:/core/images/folder}} $path$
+\end
+
+\define folder(path)
+{{$:/core/images/folder}} $path$
\end
+\define file(path)
+{{$:/core/images/file}} $path$
+\end
+
!Usage:
-!!UI navigation
+!!UI navigation
```
< New File > Blob">>
```
< New File > Blob">>
+!!! Using the right angle bracket
+
+Since the right angle bracket is used as a separator, you can't use it for display purposes. The Unicode "full width" variant can be used instead. It is identical except for a little bit of extra padding around the edges:
+
+>
+
+https://www.compart.com/en/unicode/U+FF1E
+
+Example: Click the <> button.
+
!! Keyboard shortcuts
```
< Alt > 7">>
```
< Alt > 7">>
-!! Paths
+!! Paths/Folders
+
+Note that the `path` and `folder` macro are identical.
+
```
<>
+
+or
+
+<>
```
<>
+
You can use both forward and back slashes, and colons in the path, so can represent file paths in all operating systems:
-<>
-<>
+<>
+<>
+
+!! Files
+
+```
+<>
+```
+<>
+
+You can use both forward and back slashes, and colons in the path, so can represent file paths in all operating systems:
+
+<>
+<>
+
! NOTE
@@ -67,4 +98,4 @@
```
< B > C" >> # BAD
< B > C">> # OK
-```
\ No newline at end of file
+```
diff --git a/tiddlers/system/macros/$__ou_macros_OpenByFilterOrPath.tid b/tiddlers/system/macros/$__ou_macros_OpenByFilterOrPath.tid
deleted file mode 100644
index 408183b..0000000
--- a/tiddlers/system/macros/$__ou_macros_OpenByFilterOrPath.tid
+++ /dev/null
@@ -1,41 +0,0 @@
-created: 20200702092958496
-modified: 20200702110313440
-tags: $:/tags/Macro
-title: $:/ou/macros/OpenByFilterOrPath
-type: text/vnd.tiddlywiki
-
-\define openByFilter(filter)
-<$button>
-Open All
-<$action-sendmessage $message="tm-close-other-tiddlers" />
-<$list filter=<<__filter__>> >
-<$action-navigate $to={{!!title}}/>
-$list>
-$button>
-\end
-
-\define openByPath(path)
-<$button>
-Open All
-<$action-sendmessage $message="tm-close-other-tiddlers" />
-<$list filter="[!is[system]prefix[$path$]!tag[hidden]!tag[image]!tag[toc]!sortan[section]]" >
-<$action-navigate $to={{!!title}}/>
-$list>
-$button>
-\end
-
-Displays a button that will open all tiddlers matching the given filter or path and close all other tiddlers.
-
-Usage
-
-By filter:
-
-```
-<>
-```
-
-By path:
-
-```
-<>
-```
diff --git a/tiddlers/system/macros/$__ou_macros_pudiagram.tid b/tiddlers/system/macros/$__ou_macros_pudiagram.tid
index 4f0adff..1f62cf9 100644
--- a/tiddlers/system/macros/$__ou_macros_pudiagram.tid
+++ b/tiddlers/system/macros/$__ou_macros_pudiagram.tid
@@ -5,14 +5,14 @@
\define pudiagram(pucode, codeHeader:"PlantUML code:")
[[plantuml[$pucode$]]]
$codeHeader$
-[[plantuml class="code" edit="false" output="src" [$pucode$]]]
+[[plantuml class="plaintext hljs code" edit="false" output="src" [$pucode$]]]
\end
A macro for rendering both a PlantUML diagram and the code for the diagram from a single code block.
Usage:
-```
+```plaintext
< b: stuff
@@ -36,7 +36,7 @@
If you want to change the heading that appears between the diagram and the code, then use the `codeHeader` parameter:
-```
+```plaintext
<> field="section">
+<$list filter="[title[$(full-title)$]!has[section]]">
+<$link to=<<__full-title__>>><$text text=<<__chunk__>>/>$link>
+$list>
+<$list filter="[title[$(full-title)$]has[section]]">
+<$link to=<<__full-title__>>><$text text=<>/>. <$text text=<<__chunk__>>/>$link>
+$list>
+$set>
+\end
+
+\define collapsible-leaf-node(prefix,chunk)
+
+<$list filter="[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]" variable="full-title">
+<$list filter="[removeprefix<__prefix__>]" variable="chunk">
+{{$:/core/images/file}} <$macrocall $name="collapsible-leaf-link" full-title=<> chunk=<>/>
+$list>
+$list>
+
+\end
+
+\define collapsible-branch-node(prefix,chunk,separator: "/")
+
+<$set name="reveal-state" value={{{ [[$:/state/stree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>
+<$reveal type="nomatch" stateTitle=<> text="show">
+<$button setTitle=<> setTo="show" class="tc-btn-invisible">
+<$set name="stripped" filter="[[$chunk$]removesuffix[$separator$]]" >
+{{$:/core/images/folder}} <>
+$set>
+$button>
+$reveal>
+<$reveal type="match" stateTitle=<> text="show">
+<$button setTitle=<> setTo="hide" class="tc-btn-invisible">
+<$set name="stripped" filter="[[$chunk$]removesuffix[$separator$]]" >
+{{$:/core/images/folder}} <>
+$set>
+$button>
+$reveal>
+<$reveal type="match" stateTitle=<> text="show">
+<$macrocall $name="collapsible-tree-node" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>
+$reveal>
+$set>
+
+\end
+
+\define collapsible-tree-node(prefix,separator: "/")
+
+<$list filter="[all[tiddlers]!has[section]removeprefix<__prefix__>splitbefore<__separator__>sortan[]!suffix<__separator__>] [all[tiddlers]has[section]sortan[section]removeprefix<__prefix__>splitbefore<__separator__>!suffix<__separator__>]" variable="chunk">
+<$macrocall $name="collapsible-leaf-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
+$list>
+<$list filter="[all[tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sortan[]suffix<__separator__>]" variable="chunk">
+<$macrocall $name="collapsible-branch-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
+$list>
+
+\end
+
+\define collapsible-tree(prefix: "$:/",separator: "/")
+
+<$macrocall $name="collapsible-tree-node" prefix=<<__prefix__>> separator=<<__separator__>>/>
+
+\end
diff --git a/tiddlers/system/macros/$__ou_macros_system_ContentsTree.tid b/tiddlers/system/macros/$__ou_macros_system_ContentsTree.tid
new file mode 100644
index 0000000..002c5e0
--- /dev/null
+++ b/tiddlers/system/macros/$__ou_macros_system_ContentsTree.tid
@@ -0,0 +1,50 @@
+tags: $:/tags/Macro
+title: $:/ou/macros/system/ContentsTree
+type: text/vnd.tiddlywiki
+
+\define contents-leaf-link(full-title,chunk,separator: "/")
+<$set name="section" tiddler=<<__full-title__>> field="section">
+<$list filter="[title[$(full-title)$]!has[section]]">
+<$link to=<<__full-title__>>><$text text=<<__chunk__>>/>$link>
+$list>
+<$list filter="[title[$(full-title)$]has[section]]">
+<$link to=<<__full-title__>>><$text text=<>/>. <$text text=<<__chunk__>>/>$link>
+$list>
+$set>
+\end
+
+\define contents-leaf-node(prefix,chunk)
+
+<$list filter="[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]" variable="full-title">
+<$list filter="[removeprefix<__prefix__>]" variable="chunk">
+<$macrocall $name="contents-leaf-link" full-title=<> chunk=<>/>
+$list>
+$list>
+
+\end
+
+\define contents-branch-node(prefix,chunk,separator: "/")
+
+<$set name="stripped" filter="[[$chunk$]removesuffix[$separator$]]" >
+<>
+$set>
+<$macrocall $name="contents-tree-node" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>
+
+\end
+
+\define contents-tree-node(prefix,separator: "/")
+
+<$list filter="[!is[system]!has[section]!tag[image]!tag[hidden]!tag[toc]removeprefix<__prefix__>splitbefore<__separator__>sortan[]!suffix<__separator__>] [all[tiddlers]has[section]sortan[section]removeprefix<__prefix__>splitbefore<__separator__>!suffix<__separator__>]" variable="chunk">
+<$macrocall $name="contents-leaf-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
+$list>
+<$list filter="[all[tiddlers]!tag[toc]!tag[hidden]!tag[image]removeprefix<__prefix__>splitbefore<__separator__>sortan[]suffix<__separator__>]" variable="chunk">
+<$macrocall $name="contents-branch-node" prefix=<<__prefix__>> chunk=<> separator=<<__separator__>>/>
+$list>
+
+\end
+
+\define contents-tree(path, separator: "/")
+
+<$macrocall $name="contents-tree-node" prefix=<<__path__>> separator=<<__separator__>>/>
+
+\end
diff --git a/tiddlers/system/macros/$__ou_macros_system_EditMode.tid b/tiddlers/system/macros/$__ou_macros_system_EditMode.tid
new file mode 100644
index 0000000..31f541a
--- /dev/null
+++ b/tiddlers/system/macros/$__ou_macros_system_EditMode.tid
@@ -0,0 +1,24 @@
+tags: $:/tags/Macro
+title: $:/ou/macros/system/EditMode
+type: text/vnd.tiddlywiki
+
+\define editMode()
+<$fieldmangler tiddler="$:/core/ui/SideBar/More">
+<$action-sendmessage $message="tm-add-tag" $param="$:/tags/SideBar"/>
+$fieldmangler>
+<$action-setfield $tiddler="$:/config/PageControlButtons/Visibility/$:/plugins/tiddlywiki/markdown/new-markdown-button" text="show"/>
+<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit" text="show"/>
+<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions" text="show"/>
+<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info" text="show"/>
+\end
+
+\define publishMode()
+<$fieldmangler tiddler="$:/core/ui/SideBar/More">
+<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/SideBar"/>
+$fieldmangler>
+<$action-setfield $tiddler="$:/config/PageControlButtons/Visibility/$:/plugins/tiddlywiki/markdown/new-markdown-button" text="hide"/>
+<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit" text="hide"/>
+<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions" text="hide"/>
+<$action-setfield $tiddler="$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info" text="hide"/>
+\end
+
diff --git a/tiddlers/system/macros/$__ou_macros_system_MarkIncomplete.tid b/tiddlers/system/macros/$__ou_macros_system_MarkIncomplete.tid
new file mode 100644
index 0000000..cecc17a
--- /dev/null
+++ b/tiddlers/system/macros/$__ou_macros_system_MarkIncomplete.tid
@@ -0,0 +1,11 @@
+tags: $:/tags/Macro
+title: $:/ou/macros/system/MarkIncomplete
+type: text/vnd.tiddlywiki
+
+\define markIncompleteByPath(path)
+<$list filter="[!is[system]prefix[$path$]]">
+<$fieldmangler>
+<$action-sendmessage $message="tm-add-tag" $param="incomplete"/>
+$fieldmangler>
+$list>
+\end
diff --git a/tiddlers/system/macros/$__ou_macros_system_OpenByFilterOrPath.tid b/tiddlers/system/macros/$__ou_macros_system_OpenByFilterOrPath.tid
new file mode 100644
index 0000000..6e7a5f2
--- /dev/null
+++ b/tiddlers/system/macros/$__ou_macros_system_OpenByFilterOrPath.tid
@@ -0,0 +1,39 @@
+tags: $:/tags/Macro
+title: $:/ou/macros/system/OpenByFilterOrPath
+type: text/vnd.tiddlywiki
+
+\define openByFilter(filter)
+<$button>
+Open All
+<$action-sendmessage $message="tm-close-other-tiddlers" />
+<$list filter=<<__filter__>> >
+<$action-navigate $to={{!!title}}/>
+$list>
+$button>
+\end
+
+\define openByPath(path)
+<$button>
+Open All
+<$action-sendmessage $message="tm-close-other-tiddlers" />
+<$list filter="[!is[system]prefix[$path$]!tag[hidden]!tag[image]!tag[toc]!sortan[section]]" >
+<$action-navigate $to={{!!title}}/>
+$list>
+$button>
+\end
+
+Displays a button that will open all tiddlers matching the given filter or path and close all other tiddlers.
+
+Usage
+
+By filter:
+
+```
+<>
+```
+
+By path:
+
+```
+<>
+```
diff --git a/tiddlers/system/shadows/$__DefaultTiddlers.tid b/tiddlers/system/shadows/$__DefaultTiddlers.tid
deleted file mode 100644
index 0362654..0000000
--- a/tiddlers/system/shadows/$__DefaultTiddlers.tid
+++ /dev/null
@@ -1,6 +0,0 @@
-created: 20200702090658899
-modified: 20200706234200549
-title: $:/DefaultTiddlers
-type: text/vnd.tiddlywiki
-
-/Coursework
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__SiteSubtitle.tid b/tiddlers/system/shadows/$__SiteSubtitle.tid
deleted file mode 100644
index 33d1b2e..0000000
--- a/tiddlers/system/shadows/$__SiteSubtitle.tid
+++ /dev/null
@@ -1,6 +0,0 @@
-created: 20200702085120796
-modified: 20200702085142879
-title: $:/SiteSubtitle
-type: text/vnd.tiddlywiki
-
-Coursework
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__SiteTitle.tid b/tiddlers/system/shadows/$__SiteTitle.tid
deleted file mode 100644
index 29240ce..0000000
--- a/tiddlers/system/shadows/$__SiteTitle.tid
+++ /dev/null
@@ -1,6 +0,0 @@
-created: 20200702085059173
-modified: 20200702085117297
-title: $:/SiteTitle
-type: text/vnd.tiddlywiki
-
-INFO202
diff --git a/tiddlers/system/shadows/$__config_TimestampDisable.tid b/tiddlers/system/shadows/$__config_TimestampDisable.tid
index f46cf3d..7678de7 100644
--- a/tiddlers/system/shadows/$__config_TimestampDisable.tid
+++ b/tiddlers/system/shadows/$__config_TimestampDisable.tid
@@ -1,5 +1,5 @@
created: 20200707011337666
-modified: 20200707011337676
+modified: 20211210090841976
title: $:/config/TimestampDisable
type: text/vnd.tiddlywiki
diff --git a/tiddlers/system/shadows/$__config_ViewToolbarButtons_Visibility_$__core_ui_Buttons_edit.tid b/tiddlers/system/shadows/$__config_ViewToolbarButtons_Visibility_$__core_ui_Buttons_edit.tid
index 73e4ae7..518ac9d 100644
--- a/tiddlers/system/shadows/$__config_ViewToolbarButtons_Visibility_$__core_ui_Buttons_edit.tid
+++ b/tiddlers/system/shadows/$__config_ViewToolbarButtons_Visibility_$__core_ui_Buttons_edit.tid
@@ -1,5 +1,3 @@
-created: 20200705193740311
-modified: 20200707005333550
title: $:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit
type: text/vnd.tiddlywiki
diff --git a/tiddlers/system/shadows/$__config_ViewToolbarButtons_Visibility_$__core_ui_Buttons_info.tid b/tiddlers/system/shadows/$__config_ViewToolbarButtons_Visibility_$__core_ui_Buttons_info.tid
new file mode 100644
index 0000000..9a194ba
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_ViewToolbarButtons_Visibility_$__core_ui_Buttons_info.tid
@@ -0,0 +1,4 @@
+title: $:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info
+type: text/vnd.tiddlywiki
+
+hide
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_indentUnit b/tiddlers/system/shadows/$__config_codemirror_indentUnit
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_indentUnit
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_indentUnit.meta b/tiddlers/system/shadows/$__config_codemirror_indentUnit.meta
new file mode 100644
index 0000000..f7a3375
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_indentUnit.meta
@@ -0,0 +1,2 @@
+title: $:/config/codemirror/indentUnit
+type: integer
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_indentWithTabs b/tiddlers/system/shadows/$__config_codemirror_indentWithTabs
new file mode 100644
index 0000000..f32a580
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_indentWithTabs
@@ -0,0 +1 @@
+true
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_indentWithTabs.meta b/tiddlers/system/shadows/$__config_codemirror_indentWithTabs.meta
new file mode 100644
index 0000000..09bec46
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_indentWithTabs.meta
@@ -0,0 +1,2 @@
+title: $:/config/codemirror/indentWithTabs
+type: bool
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_lineWrapping b/tiddlers/system/shadows/$__config_codemirror_lineWrapping
new file mode 100644
index 0000000..f32a580
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_lineWrapping
@@ -0,0 +1 @@
+true
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_lineWrapping.meta b/tiddlers/system/shadows/$__config_codemirror_lineWrapping.meta
new file mode 100644
index 0000000..2810fab
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_lineWrapping.meta
@@ -0,0 +1,2 @@
+title: $:/config/codemirror/lineWrapping
+type: bool
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_styleActiveLine b/tiddlers/system/shadows/$__config_codemirror_styleActiveLine
new file mode 100644
index 0000000..f32a580
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_styleActiveLine
@@ -0,0 +1 @@
+true
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_styleActiveLine.meta b/tiddlers/system/shadows/$__config_codemirror_styleActiveLine.meta
new file mode 100644
index 0000000..b0aad68
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_styleActiveLine.meta
@@ -0,0 +1,2 @@
+title: $:/config/codemirror/styleActiveLine
+type: bool
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_tabSize b/tiddlers/system/shadows/$__config_codemirror_tabSize
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_tabSize
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__config_codemirror_tabSize.meta b/tiddlers/system/shadows/$__config_codemirror_tabSize.meta
new file mode 100644
index 0000000..456abb7
--- /dev/null
+++ b/tiddlers/system/shadows/$__config_codemirror_tabSize.meta
@@ -0,0 +1,2 @@
+title: $:/config/codemirror/tabSize
+type: integer
\ No newline at end of file
diff --git a/tiddlers/system/shadows/$__core_ui_SideBar_More.tid b/tiddlers/system/shadows/$__core_ui_SideBar_More.tid
index 8be6417..ad10bd7 100644
--- a/tiddlers/system/shadows/$__core_ui_SideBar_More.tid
+++ b/tiddlers/system/shadows/$__core_ui_SideBar_More.tid
@@ -1,9 +1,7 @@
caption: {{$:/language/SideBar/More/Caption}}
-created: 20200705194418663
-modified: 20200707005333559
title: $:/core/ui/SideBar/More
type: text/vnd.tiddlywiki
\ No newline at end of file
+<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]" default={{$:/config/DefaultMoreSidebarTab}} state="$:/state/tab/moresidebar" class="tc-vertical tc-sidebar-tabs-more" explicitState="$:/state/tab/moresidebar-1850697562"/>
+
diff --git a/tiddlers/system/shadows/$__core_ui_SideBar_Recent.tid b/tiddlers/system/shadows/$__core_ui_SideBar_Recent.tid
index 41da52d..1a9177a 100644
--- a/tiddlers/system/shadows/$__core_ui_SideBar_Recent.tid
+++ b/tiddlers/system/shadows/$__core_ui_SideBar_Recent.tid
@@ -1,6 +1,5 @@
caption: {{$:/language/SideBar/Recent/Caption}}
-created: 20200705194505595
-modified: 20200705194505689
+tags:
title: $:/core/ui/SideBar/Recent
type: text/vnd.tiddlywiki
diff --git a/tiddlers/system/shadows/$__core_ui_SideBar_Tools.tid b/tiddlers/system/shadows/$__core_ui_SideBar_Tools.tid
index 685556c..1316b95 100644
--- a/tiddlers/system/shadows/$__core_ui_SideBar_Tools.tid
+++ b/tiddlers/system/shadows/$__core_ui_SideBar_Tools.tid
@@ -1,6 +1,5 @@
caption: {{$:/language/SideBar/Tools/Caption}}
-created: 20200705194515493
-modified: 20200705194515641
+tags:
title: $:/core/ui/SideBar/Tools
type: text/vnd.tiddlywiki
diff --git a/tiddlers/system/shadows/$__core_ui_ViewTemplate_title.tid b/tiddlers/system/shadows/$__core_ui_ViewTemplate_title.tid
index 5157afa..8dfa16c 100644
--- a/tiddlers/system/shadows/$__core_ui_ViewTemplate_title.tid
+++ b/tiddlers/system/shadows/$__core_ui_ViewTemplate_title.tid
@@ -1,5 +1,5 @@
-created: 20200702104128510
-modified: 20200702134809674
+created: 20211210083802820
+modified: 20211210084158714
tags: $:/tags/ViewTemplate
title: $:/core/ui/ViewTemplate/title
type: text/vnd.tiddlywiki
@@ -57,4 +57,4 @@
<$list filter="[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]" variable="listItem"><$transclude tiddler=<> mode="block"/>$list>
$reveal>
-
\ No newline at end of file
+
diff --git a/tiddlers/system/shadows/$__palettes_SpartanNight b/tiddlers/system/shadows/$__palettes_SpartanNight
index 8daf73d..c3c7863 100644
--- a/tiddlers/system/shadows/$__palettes_SpartanNight
+++ b/tiddlers/system/shadows/$__palettes_SpartanNight
@@ -7,7 +7,7 @@
button-background: rgba(255,255,255,0.1)
button-foreground: inherit
button-border: #d6d6d6
-code-background: <>
+code-background: transparent !important
code-border: <>
code-foreground: rgba(255, 255, 255, 0.54)
dirty-indicator: #c80000
@@ -25,7 +25,7 @@
external-link-background: transparent
external-link-foreground-hover:
external-link-foreground-visited: #7c318c
-external-link-foreground: #9e3eb3
+external-link-foreground: #7C8EE1
foreground: rgba(255, 255, 255, 0.7)
message-background: <>
message-border: <>
@@ -40,7 +40,7 @@
notification-background: <>
notification-border: <>
page-background: #212121
-pre-background: #2a2a2a
+pre-background: rgb(0, 0, 0, 0.075) !important
pre-border: rgba(0, 0, 0, 0.3)
primary: #988AFF
select-tag-background: <>
diff --git a/tiddlers/system/shadows/$__plugins_tiddlywiki_markdown_wrapper.js b/tiddlers/system/shadows/$__plugins_tiddlywiki_markdown_wrapper.js
index 7122b70..4061fa7 100644
--- a/tiddlers/system/shadows/$__plugins_tiddlywiki_markdown_wrapper.js
+++ b/tiddlers/system/shadows/$__plugins_tiddlywiki_markdown_wrapper.js
@@ -2,22 +2,22 @@
title: $:/plugins/tiddlywiki/markdown/wrapper.js
type: application/javascript
module-type: parser
-
+
Wraps up the remarkable parser for use as a Parser in TiddlyWiki
-
+
\*/
(function(){
-
+
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
-
+
var r = require("$:/plugins/tiddlywiki/markdown/remarkable.js");
-
+
var Remarkable = r.Remarkable,
linkify = r.linkify,
utils = r.utils;
-
+
///// Set up configuration options /////
function parseAsBoolean(tiddlerName) {
return $tw.wiki.getTiddlerText(tiddlerName).toLowerCase() === "true";
@@ -32,43 +32,53 @@
quotes: $tw.wiki.getTiddlerText("$:/config/markdown/quotes"),
typographer: parseAsBoolean("$:/config/markdown/typographer")
};
-
var accumulatingTypes = {
"text": true,
"softbreak": true
};
-
+// If rendering WikiText, we treat katex nodes as text.
+if(pluginOpts.renderWikiText) {
+ accumulatingTypes["katex"] = true;
+}
+
var md = new Remarkable(remarkableOpts);
-// MG - enable/disable rules based on what currentl does/doesn't work with TiddlyWiki Markdown plugin.
-
+// - enable/disable rules based on what currently does/doesn't work with TiddlyWiki Markdown plugin
+
md.core.ruler.disable([
'abbr'
]);
-
+
md.block.ruler.disable([
'footnote'
]);
-
+
md.block.ruler.enable([
'deflist'
]);
-
+
md.inline.ruler.disable([
'sub',
'sup'
]);
-
+
md.inline.ruler.enable([
'ins',
'mark'
]);
+//
+// If tiddlywiki/katex plugin is present, use remarkable-katex to enable katex support.
+if($tw.modules.titles["$:/plugins/tiddlywiki/katex/katex.min.js"]) {
+ var rk = require("$:/plugins/tiddlywiki/markdown/remarkable-katex.js");
+ md = md.use(rk);
+}
+
if (parseAsBoolean("$:/config/markdown/linkify")) {
md = md.use(linkify);
}
-
+
function findTagWithType(nodes, startPoint, type, level) {
for (var i = startPoint; i < nodes.length; i++) {
if (nodes[i].type === type && nodes[i].level === level) {
@@ -77,7 +87,7 @@
}
return false;
}
-
+
/**
* Remarkable creates nodes that look like:
* [
@@ -115,30 +125,37 @@
});
});
}
-
+
for (var i = 0; i < remarkableTree.length; i++) {
var currentNode = remarkableTree[i];
switch (currentNode.type) {
case "paragraph_open":
+ // If the paragraph is a "tight" layout paragraph, don't wrap children in a tag.
+ if(currentNode.tight) {
+ i = withChildren(i, currentNode.level, "paragraph_close", remarkableTree, function(children) {
+ Array.prototype.push.apply(out, children);
+ });
+ } else {
i = wrappedElement("p", i, currentNode.level, "paragraph_close", remarkableTree);
+ }
break;
-
+
case "heading_open":
i = wrappedElement("h" + currentNode.hLevel, i, currentNode.level, "heading_close", remarkableTree);
break;
-
+
case "bullet_list_open":
i = wrappedElement("ul", i, currentNode.level, "bullet_list_close", remarkableTree);
break;
-
+
case "ordered_list_open":
i = wrappedElement('ol', i, currentNode.level,'ordered_list_close', remarkableTree);
break;
-
+
case "list_item_open":
i = wrappedElement("li", i, currentNode.level, "list_item_close", remarkableTree);
break;
-
+
case "link_open":
i = withChildren(i, currentNode.level, "link_close", remarkableTree, function(children) {
if (currentNode.href[0] !== "#") {
@@ -162,14 +179,14 @@
out.push({
type: "link",
attributes: {
- to: { type: "string", value: decodeURI(currentNode.href.substr(1)) }
+ to: { type: "string", value: $tw.utils.decodeURISafe(currentNode.href.substr(1)) }
},
children: children
});
}
});
break;
-
+
case "code":
out.push({
type: "element",
@@ -177,7 +194,7 @@
children: [{ type: "text", text: currentNode.content }]
});
break;
-
+
case "fence":
out.push({
type: "codeblock",
@@ -187,17 +204,17 @@
}
});
break;
-
+
case "image":
out.push({
type: "image",
attributes: {
tooltip: { type: "string", value: currentNode.alt },
- source: { type: "string", value: decodeURIComponent(currentNode.src) }
+ source: { type: "string", value: $tw.utils.decodeURIComponentSafe(currentNode.src) }
}
});
break;
-
+
case "softbreak":
if (remarkableOpts.breaks) {
out.push({
@@ -208,14 +225,14 @@
accumulatedText = accumulatedText + '\n';
}
break;
-
+
case "hardbreak":
out.push({
type: "element",
tag: "br",
});
break;
-
+
case "th_open":
case "td_open":
var elementTag = currentNode.type.slice(0, 2);
@@ -232,23 +249,40 @@
});
});
break;
-
+
case "hr":
out.push({
type: 'element',
tag: 'hr',
});
break;
-
+
case "inline":
out = out.concat(convertNodes(currentNode.children, true));
break;
-
+
case "text":
// We need to merge this text block with the upcoming text block and parse it all together.
accumulatedText = accumulatedText + currentNode.content;
break;
+ case "katex":
+ // If rendering WikiText, convert the katex node back to text for parsing by the WikiText LaTeX parser.
+ if(pluginOpts.renderWikiText) {
+ // If this is a block, add a newline to trigger the KaTeX plugins block detection.
+ var displayModeSuffix = currentNode.block ? "\n" : "";
+ accumulatedText = accumulatedText + "$$" + currentNode.content + displayModeSuffix + "$$";
+ } else {
+ out.push({
+ type: "latex",
+ attributes: {
+ text: { type: "text", value: currentNode.content },
+ displayMode: { type: "text", value: currentNode.block ? "true" : "false" }
+ }
+ });
+ }
+ break;
+
default:
if (currentNode.type.substr(currentNode.type.length - 5) === "_open") {
var tagName = currentNode.type.substr(0, currentNode.type.length - 5);
@@ -291,7 +325,7 @@
parseAsInline: parseAsInline
});
var rs = wikiParser.tree;
-
+
// If we parsed as a block, but the root element the WikiText parser gave is a paragraph,
// we should discard the paragraph, since the way Remarkable nests its nodes, this "inline"
// node is always inside something else that's a block-level element
@@ -302,7 +336,7 @@
) {
rs = rs[0].children;
}
-
+
// If the original text element started with a space, add it back in
if (rs.length > 0
&& rs[0].type === "text"
@@ -317,16 +351,16 @@
}
return out;
}
-
+
var MarkdownParser = function(type, text, options) {
var tree = md.parse(text, {});
//console.debug(tree);
tree = convertNodes(tree);
//console.debug(tree);
-
+
this.tree = tree;
};
-
+
exports["text/x-markdown"] = MarkdownParser;
-
-})();
+
+})();
\ No newline at end of file
diff --git a/tiddlers/system/sidebars/$__ou_sidebars_Contents.tid b/tiddlers/system/sidebars/$__ou_sidebars_Contents.tid
index 9d02195..f78b615 100644
--- a/tiddlers/system/sidebars/$__ou_sidebars_Contents.tid
+++ b/tiddlers/system/sidebars/$__ou_sidebars_Contents.tid
@@ -1,9 +1,7 @@
caption: Contents
-created: 20200702093853161
list-before: $:/core/ui/SideBar/Open
-modified: 20200706234107561
tags: $:/tags/SideBar
title: $:/ou/sidebars/Contents
type: text/vnd.tiddlywiki
-<>
\ No newline at end of file
+<>
diff --git a/tiddlers/system/sidebars/$__ou_sidebars_Editing.tid b/tiddlers/system/sidebars/$__ou_sidebars_Editing.tid
index ee88251..e2070de 100644
--- a/tiddlers/system/sidebars/$__ou_sidebars_Editing.tid
+++ b/tiddlers/system/sidebars/$__ou_sidebars_Editing.tid
@@ -1,11 +1,9 @@
caption: Editing
-created: 20200706073905060
-modified: 20200706074338023
tags: $:/tags/MoreSideBar
title: $:/ou/sidebars/Editing
type: text/vnd.tiddlywiki
-<$button to="$:/ou/editing/#edit">{{$:/core/images/theme-button}}$button>
+<$button to="$:/ou/editing/#edit">{{$:/core/images/theme-button}}$button>
---
''To Do''
@@ -16,20 +14,17 @@
---
''Markdown Link Encoding''
-Superseded by [[$:/ou/macros/LinksFromPath]]
-
|Title:|<$edit-text tiddler="$:/state/linkToEncodeTitle" tag="input" default=""/>|
-|Path:|<$edit-text tiddler="$:/state/linkToEncodePath" tag="input" default=""/>|
+|URL:|<$edit-text tiddler="$:/state/linkToEncodePath" tag="input" default=""/>|
<$button>
<$action-deletetiddler $tiddler="$:/state/linkToEncodeTitle"/>
<$action-deletetiddler $tiddler="$:/state/linkToEncodePath"/>
Clear
$button>
-
-<$macrocall $name="linkEncode" title={{$:/state/linkToEncodeTitle}} path={{$:/state/linkToEncodePath}} />
+[{{$:/state/linkToEncodeTitle}}]({{$:/state/linkToEncodePath}})
---
''Hidden Stuff''
@@ -46,6 +41,10 @@
<>
+`$:/Cheatsheet/`:
+
+<>
+
`$:/ou/`:
-<>
\ No newline at end of file
+<>
diff --git a/tiddlers/system/snippets/$__ou_snippets_TableOfContents.tid b/tiddlers/system/snippets/$__ou_snippets_TableOfContents.tid
index e864cbd..34c626d 100644
--- a/tiddlers/system/snippets/$__ou_snippets_TableOfContents.tid
+++ b/tiddlers/system/snippets/$__ou_snippets_TableOfContents.tid
@@ -1,6 +1,4 @@
caption: Table of Contents
-created: 20200702091026430
-modified: 20200707005526287
tags: $:/tags/TextEditor/Snippet
title: $:/ou/snippets/TableOfContents
type: text/vnd.tiddlywiki
diff --git a/tiddlers/system/snippets/$__ou_snippets_puDiagramCode.tid b/tiddlers/system/snippets/$__ou_snippets_puDiagramCode.tid
index 475b928..7a605b4 100644
--- a/tiddlers/system/snippets/$__ou_snippets_puDiagramCode.tid
+++ b/tiddlers/system/snippets/$__ou_snippets_puDiagramCode.tid
@@ -3,6 +3,12 @@
title: $:/ou/snippets/puDiagramCode
type: text/vnd.tiddlywiki
-[[plantuml[
+< b : do stuff
-]]]
\ No newline at end of file
+
+@enduml
+"""
+>>
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_sidebars_theme_buttons.tid b/tiddlers/system/styles/$__ou_sidebars_theme_buttons.tid
index 7e04de9..bb153c0 100644
--- a/tiddlers/system/styles/$__ou_sidebars_theme_buttons.tid
+++ b/tiddlers/system/styles/$__ou_sidebars_theme_buttons.tid
@@ -4,5 +4,5 @@
\whitespace trim
-<$button class=<>> <$action-setfield $tiddler="$:/palette" text="$:/palettes/Vanilla"/>{{$:/ou/clipart/octicon-sun}}$button>
-<$button class=<>><$action-setfield $tiddler="$:/palette" text="$:/palettes/SpartanNight"/>{{$:/ou/clipart/octicon-moon}}$button>
+<$button class=<>> <$action-setfield $tiddler="$:/palette" text="$:/palettes/Vanilla"/>{{$:/ou/clipart/octoicons/octicon-sun}}$button>
+<$button class=<>><$action-setfield $tiddler="$:/palette" text="$:/palettes/SpartanNight"/>{{$:/ou/clipart/octoicons/octicon-moon}}$button>
diff --git a/tiddlers/system/styles/$__ou_styles_Box.css b/tiddlers/system/styles/$__ou_styles_Box.css
new file mode 100644
index 0000000..e478a54
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Box.css
@@ -0,0 +1,5 @@
+.box {
+ padding: 10px;
+ border-style: solid;
+ border-radius: 8px;
+}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Box.css.meta b/tiddlers/system/styles/$__ou_styles_Box.css.meta
new file mode 100644
index 0000000..f98c8a6
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Box.css.meta
@@ -0,0 +1,3 @@
+tags: $:/tags/Stylesheet
+title: $:/ou/styles/Box
+type: text/css
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_ButtonImage.css b/tiddlers/system/styles/$__ou_styles_ButtonImage.css
index 4ef45b2..bd3d530 100644
--- a/tiddlers/system/styles/$__ou_styles_ButtonImage.css
+++ b/tiddlers/system/styles/$__ou_styles_ButtonImage.css
@@ -1,18 +1,18 @@
-/* used for displaying icons inline */
+kbd {
+ vertical-align: middle;
+ padding: 3px;
+}
+
+kbd svg, kbd img {
+ width: auto;
+ height: 1.15em;
+ padding: 0px !important;
+ vertical-align: text-bottom;
+}
+
+/* used for displaying icons inline - used by icon macros */
.ou-button-image img, .ou-button-image svg {
width: 1.3em;
height: auto;
vertical-align: text-bottom;
-}
-
-kbd {
- vertical-align: baseline;
- padding: 3px;
- padding-top: 1px;
-}
-
-kbd svg {
- width: auto;
- height: 1.15em;
- padding: 0px !important;
}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_ButtonImage.css.meta b/tiddlers/system/styles/$__ou_styles_ButtonImage.css.meta
index bea900a..393c068 100644
--- a/tiddlers/system/styles/$__ou_styles_ButtonImage.css.meta
+++ b/tiddlers/system/styles/$__ou_styles_ButtonImage.css.meta
@@ -1,5 +1,3 @@
-created: 20200703070355616
-modified: 20200703103503331
tags: $:/tags/Stylesheet
title: $:/ou/styles/ButtonImage
type: text/css
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Code.css b/tiddlers/system/styles/$__ou_styles_Code.css
new file mode 100644
index 0000000..8aa2485
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Code.css
@@ -0,0 +1,3 @@
+pre {
+ padding: 0.5em;
+}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Code.css.meta b/tiddlers/system/styles/$__ou_styles_Code.css.meta
new file mode 100644
index 0000000..4469757
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Code.css.meta
@@ -0,0 +1,3 @@
+tags: $:/tags/Stylesheet
+title: $:/ou/styles/Code
+type: text/css
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Fonts.css b/tiddlers/system/styles/$__ou_styles_Fonts.css
index bf3f0e6..42503a6 100644
--- a/tiddlers/system/styles/$__ou_styles_Fonts.css
+++ b/tiddlers/system/styles/$__ou_styles_Fonts.css
@@ -10,8 +10,26 @@
letter-spacing: -0.025em; /* character spacing for Robo Condensed often looks too wide compared to other fonts */
}
-kbd, code, .code, pre {
+kbd, code, .code, pre, tt {
font-family: 'Inconsolata', monospace;
font-size: 1.1em;
font-stretch: condensed;
+}
+
+pre, pre code {
+ tab-size: 3 !important;
+}
+
+
+/* the new highlight plugin doesn't seem to be using the TiddlyWiki colors by default, so until this is fixed, set some usable colors so that HTML is not unreadable in the dark theme*/
+.hljs-tag, .hljs-punctuation {
+ color: DarkGray !important;
+}
+
+.hljs-name {
+ color: #268bd2 !important;
+}
+
+.hljs-attr {
+ color: green !important;
}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Fonts.css.meta b/tiddlers/system/styles/$__ou_styles_Fonts.css.meta
index acc3ae2..3e98ed7 100644
--- a/tiddlers/system/styles/$__ou_styles_Fonts.css.meta
+++ b/tiddlers/system/styles/$__ou_styles_Fonts.css.meta
@@ -1,5 +1,3 @@
-created: 20200703072825545
-modified: 20200703072844121
tags: $:/tags/Stylesheet
title: $:/ou/styles/Fonts
type: text/css
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Headings.css b/tiddlers/system/styles/$__ou_styles_Headings.css
new file mode 100644
index 0000000..9b1384f
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Headings.css
@@ -0,0 +1,7 @@
+h2:not(.tc-title) {
+ font-size: 1.75em !important;
+}
+
+h3 {
+ font-size: 1.5em !important;
+}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Headings.css.meta b/tiddlers/system/styles/$__ou_styles_Headings.css.meta
new file mode 100644
index 0000000..a8bd056
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Headings.css.meta
@@ -0,0 +1,3 @@
+tags: $:/tags/Stylesheet
+title: $:/ou/styles/Headings
+type: text/css
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Hidden.css b/tiddlers/system/styles/$__ou_styles_Hidden.css
new file mode 100644
index 0000000..fa67d13
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Hidden.css
@@ -0,0 +1,3 @@
+.hidden {
+ display:none;
+}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Hidden.css.meta b/tiddlers/system/styles/$__ou_styles_Hidden.css.meta
new file mode 100644
index 0000000..fd9cd98
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Hidden.css.meta
@@ -0,0 +1,3 @@
+tags: $:/tags/Stylesheet
+title: $:/ou/styles/Hidden
+type: text/css
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Lists.css.meta b/tiddlers/system/styles/$__ou_styles_Lists.css.meta
index b777e52..3be76f8 100644
--- a/tiddlers/system/styles/$__ou_styles_Lists.css.meta
+++ b/tiddlers/system/styles/$__ou_styles_Lists.css.meta
@@ -1,5 +1,3 @@
-created: 20200703101746587
-modified: 20200705193404865
tags: $:/tags/Stylesheet
title: $:/ou/styles/Lists
-type: text/css
\ No newline at end of file
+type: text/css
diff --git a/tiddlers/system/styles/$__ou_styles_Print.css b/tiddlers/system/styles/$__ou_styles_Print.css
index 0cc6872..3f06c81 100644
--- a/tiddlers/system/styles/$__ou_styles_Print.css
+++ b/tiddlers/system/styles/$__ou_styles_Print.css
@@ -4,9 +4,17 @@
}
.tc-title {
- font-size: 0.8em !important;
+ font-size: 0.7em !important;
}
+ h2:not(.tc-title) {
+ font-size: 1.65em !important;
+ }
+
+ h3 {
+ font-size: 1.4em !important;
+ }
+
body {
font-size: 12pt !important;
color: black !important;
@@ -43,4 +51,10 @@
fill: black !important;
}
+
+ .pagebreak {
+ clear: both;
+ page-break-after: always;
+ }
+
}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Print.css.meta b/tiddlers/system/styles/$__ou_styles_Print.css.meta
index 84384cc..3a4d351 100644
--- a/tiddlers/system/styles/$__ou_styles_Print.css.meta
+++ b/tiddlers/system/styles/$__ou_styles_Print.css.meta
@@ -1,5 +1,3 @@
-created: 20200702135739771
-modified: 20200702140716669
tags: $:/tags/Stylesheet
title: $:/ou/styles/Print
type: text/css
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_ThemeTweaks.css.meta b/tiddlers/system/styles/$__ou_styles_ThemeTweaks.css.meta
index 2bdd214..3ac48f3 100644
--- a/tiddlers/system/styles/$__ou_styles_ThemeTweaks.css.meta
+++ b/tiddlers/system/styles/$__ou_styles_ThemeTweaks.css.meta
@@ -1,5 +1,3 @@
-created: 20200702135739771
-modified: 20200702140716669
tags: $:/tags/Stylesheet
title: $:/ou/styles/ThemeTweaks
-type: text/css
\ No newline at end of file
+type: text/css
diff --git a/tiddlers/system/styles/$__ou_styles_TitleTweaks.css.meta b/tiddlers/system/styles/$__ou_styles_TitleTweaks.css.meta
index fb3070f..08cd434 100644
--- a/tiddlers/system/styles/$__ou_styles_TitleTweaks.css.meta
+++ b/tiddlers/system/styles/$__ou_styles_TitleTweaks.css.meta
@@ -1,5 +1,3 @@
-created: 20200702105400232
-modified: 20200702110330385
tags: $:/tags/Stylesheet
title: $:/ou/styles/TitleTweaks
-type: text/css
\ No newline at end of file
+type: text/css
diff --git a/tiddlers/system/styles/$__ou_styles_Trees.css b/tiddlers/system/styles/$__ou_styles_Trees.css
deleted file mode 100644
index 2a75cd0..0000000
--- a/tiddlers/system/styles/$__ou_styles_Trees.css
+++ /dev/null
@@ -1,9 +0,0 @@
-\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
-
-/* tweaks to contents/collapsible tree styles */
-.contents-branch span {
- color: <> !important;
-}
-.collapsed-tree-branch, .collapsed-tree-branch span {
- color: <> !important;
-}
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Trees.css.meta b/tiddlers/system/styles/$__ou_styles_Trees.css.meta
deleted file mode 100644
index 2938101..0000000
--- a/tiddlers/system/styles/$__ou_styles_Trees.css.meta
+++ /dev/null
@@ -1,5 +0,0 @@
-created: 20200703070355616
-modified: 20200703103503331
-tags: $:/tags/Stylesheet
-title: $:/ou/styles/Trees
-type: text/vnd.tiddlywiki
\ No newline at end of file
diff --git a/tiddlers/system/styles/$__ou_styles_Trees.tid b/tiddlers/system/styles/$__ou_styles_Trees.tid
new file mode 100644
index 0000000..09ae8dd
--- /dev/null
+++ b/tiddlers/system/styles/$__ou_styles_Trees.tid
@@ -0,0 +1,11 @@
+tags: $:/tags/Stylesheet
+title: $:/ou/styles/Trees
+type: text/vnd.tiddlywiki
+
+/* tweaks to contents/collapsible tree styles */
+.contents-branch span {
+ color: <> !important;
+}
+.collapsed-tree-branch, .collapsed-tree-branch span {
+ color: <> !important;
+}
diff --git a/tiddlers/system/tags/image.tid b/tiddlers/system/tags/image.tid
new file mode 100644
index 0000000..b7aa68f
--- /dev/null
+++ b/tiddlers/system/tags/image.tid
@@ -0,0 +1,3 @@
+color: #1111ff
+title: image
+type: text/vnd.tiddlywiki