diff --git a/public/index.html b/public/index.html index 74333d4..ac5f086 100644 --- a/public/index.html +++ b/public/index.html @@ -166,6 +166,7 @@ Error message and password prompt {"created":"20220920084945618","title":"$:/config/NewJournal/Title","text":"YYYY-MM-DD","modified":"20220920085019290"}, {"created":"20230110211056385","title":"$:/Config/OcttKB/Tweaks/Starlight/.tc-story-river Padding","text":"20px 20px 20px 20px","modified":"20230110230321263"}, {"created":"20220920092318354","text":"show","title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions","modified":"20220920092318355"}, +{"created":"20230128224610468","creator":"Octt","text":"hide","title":"$:/config/PageControlButtons/Visibility/$:/plugins/kookma/commander/buttons/pagecontrol","modified":"20230128224610468","modifier":"Octt"}, {"created":"20230124125356042","creator":"Octt","title":"$:/config/Plugins/Disabled/$:/plugins/Gk0Wk/focused-tiddler","text":"yes","modified":"20230124125356042","modifier":"Octt"}, {"created":"20230108130329061","creator":"Octt","title":"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror","text":"no","modified":"20230117124128421","modifier":"Octt"}, {"created":"20221108100223854","title":"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki","text":"yes","modified":"20221108100223855"}, @@ -204,7 +205,7 @@ Error message and password prompt {"created":"20230109160537807","creator":"Octt","text":"\\whitespace trim\n\n\u003C!-- Directory Features --->\n\n\\define DirTreeList(Prefix)\n\u003C$set name=\"Prefix\" filter=\" $Prefix$\" value=\"$Prefix$\" emptyValue=\u003C\u003CcurrentTiddler>>>\n \u003C$macrocall $name=\"tree_\" prefix={{{[\u003CPrefix>addsuffix[/]]}}}/>\n\u003C/$set>\n\\end\n\n\\define CurDirList()\n\u003C$set name=\"Name\" value=\u003C\u003CGetCurrentDirectoryPath>>>\n\u003Cul>\n\u003C$list filter=\"[prefix\u003CName>]\">\n\t\u003Cli>\n\t\t\u003C$link>\n\t\t\t\u003C\u003CcurrentTiddler>>\n\t\t\u003C/$link>\n\t\u003C/li>\n\u003C/$list>\n\u003C/ul>\n\u003C/$set>\n\\end\n\n\\define TCurDirList(h:\"2\")\n\u003Ch$h$ class=\"DirList-Title\">Directory Listing\u003C/h$h$>\n\u003C\u003CCurDirList>>\n\\end\n\n\\define DirList(Path)\n\u003C$set name=\"Name\" value=\u003C\u003CGetDirectoryPath $Path$>>>\n\u003Cul>\n\u003C$list filter=\"[prefix\u003CName>]\">\n\t\u003Cli>\n\t\t\u003C$link>\n\t\t\t\u003C\u003CcurrentTiddler>>\n\t\t\u003C/$link>\n\t\u003C/li>\n\u003C/$list>\n\u003C/ul>\n\u003C/$set>\n\\end\n\n\\define TDirList(Path h:\"2\")\n\u003Ch$h$ class=\"DirList-Title\">Directory Listing of [[$Path$]]/\u003C/h$h$>\n\u003C\u003CDirList $Path$>>\n\\end\n\n\\define GetCurrentDirectoryPath() $(currentTiddler)$/\n\\define GetDirectoryPath(Path) $Path$/\n\n\u003C!--\n\\define GetDirectoryPath(Path) $Path$/\n\n\\define DirList(Path:\u003C\u003CcurrentTiddler>>)\n\u003C$set name=\"Name\" value=\u003C$macrocall $name=\"GetDirectoryPath\" Path=$Path$/>>>\n\u003Cul>\n\u003C$list filter=\"[prefix\u003CName>]\">\n\t\u003Cli>\n\t\t\u003C$link>\n\t\t\t\u003C\u003CcurrentTiddler>>\n\t\t\u003C/$link>\n\t\u003C/li>\n\u003C/$list>\n\u003C/ul>\n\u003C/$set>\n\\end\n\n\\define TDirList(Path)\n\u003Ch2>Directory Listing\u003C/h2>\n\u003C\u003CDirList $Path$>>\n\\end\n--->","tags":"$:/tags/Macro","title":"$:/Macros/Directory","modified":"20230126202229853","modifier":"Octt"}, {"created":"20230111212908327","text":"\\define iFrame100Style()\nMargin: 0px;\nPadding: 0px;\nWidth: 100vw;\nHeight: 100vh;\n\\end\n\n\\define EmbedFromLine(Link)\n\u003Cp class=\"Embed-From EmbedFrom\">Embed of [[$Link$]]\u003C/p>\n\\end\n\n\\define iFrame(Src Class:\"iFrame100\" Attrs)\n\u003C\u003CEmbedFromLine \"$Src$\">>\n\u003Ciframe class=\"$Class$\" frameborder=\"0\" $Attrs$ src=\"$Src$\">\u003C/iframe>\n\\end\n\n\\define iFrameFixed(Src Class:\"iFrame100\" Attrs) \u003C\u003CiFrame \"$Src$\" \"$Class$\" 'scrolling=\"no\" $Attrs$'>>\n\\define iFrameBypassFixed(Src Class:\"iFrame100\" Attrs) \u003C\u003CiFrameBypass \"$Src$\" \"$Class$\" 'scrolling=\"no\" $Attrs$'>>\n\\define iFrameFixedBypass(Src Class:\"iFrame100\" Attrs) \u003C\u003CiFrameBypass \"$Src$\" \"$Class$\" 'scrolling=\"no\" $Attrs$'>>\n\n\\define iFrameBypass(Src Class:\"iFrame100\" Attrs)\n\u003C\u003CEmbedFromLine \"$Src$\">>\n\u003Ciframe class=\"$Class$\" frameborder=\"0\" $Attrs$ src='\ndata:text/html;utf8,\n\u003C!DOCTYPE html>\n\u003C!-- Code from X-Frame-Bypass: \u003Chttps://github.com/niutech/x-frame-bypass> --->\n\u003Chtml>\n\u003Chead>\n \u003Cstyle>\n html, body { overflow: hidden; }\n html, body, iframe { margin: 0px; padding: 0px; width: 100%; height: 100%; border: none; }\n \u003C/style>\n \u003Cscript src=\"https://unpkg.com/@ungap/custom-elements-builtin\">\u003C/script>\n \u003Cscript src=\"https://octospacc.gitlab.io/pastebin/x-frame-bypass.js\" type=\"module\">\u003C/script>\n\u003C/head>\n\u003Cbody>\u003Ciframe frameborder=\"0\" is=\"x-frame-bypass\" src=\"$Src$\">\u003C/iframe>\u003C/body>\n\u003C/html>\n'>\u003C/iframe>\n\\end\n\n\n\\define iFrame100(Src)\n\u003C\u003CEmbedFromLine \"$Src$\">>\n\u003Ciframe style=\u003C\u003CiFrame100Style>> frameborder=\"0\" src=\"$Src$\">\u003C/iframe>\n\\end\n\n\\define iFrame100NoScroll(Src)\n\u003C\u003CEmbedFromLine \"$Src$\">>\n\u003Ciframe style=\u003C\u003CiFrame100Style>> frameborder=\"0\" src=\"$Src$\" scrolling=\"no\">\u003C/iframe>\n\\end\n\n\\define iFrame100UriDirect(Src)\n\u003Ciframe style=\u003C\u003CiFrame100Style>> frameborder=\"0\" src=$Src$>\u003C/iframe>\n\\end\n\n\\define iFrame100Tid(Tid)\n\u003C\u003CEmbedFromLine \"$Tid$\">>\n\u003C\u003CiFrame100UriDirect \"\"\"\u003C\u003Cb64TidUriEnc \"$Tid$\">>\"\"\">>\n\\end","tags":"$:/tags/Macro","title":"$:/Macros/Frames","modified":"20230114150926520"}, {"created":"20220926113710012","text":"\\define i18n-target()\n\u003C$list filter=\"[[$(currentTiddler)$]tags[]prefix[i18n:]split[:]last[]]\">\n\t\u003Cspan style=\"Padding:8px;\">\n\t\t\u003C\u003CcurrentTiddler>>\n\t\u003C/span>\n\u003C/$list>\n\\end\n\n\\define i18n()\n\u003Cstyle>\n\t/* Rainbow gradient from https://stackoverflow.com/a/63302468 */\n\t.LanguageBox {\n\t\tBorder: Solid Black 1px;\n\t\tPadding: 4px;\n\t\tBackground: Linear-Gradient(\n\t\t\t90deg,\n\t\t\tRGBA(255, 0, 0, 1) 0%,\n\t\t\tRGBA(255, 154, 0, 1) 10%,\n\t\t\tRGBA(208, 222, 33, 1) 20%,\n\t\t\tRGBA(79, 220, 74, 1) 30%,\n\t\t\tRGBA(63, 218, 216, 1) 40%,\n\t\t\tRGBA(47, 201, 226, 1) 50%,\n\t\t\tRGBA(28, 127, 238, 1) 60%,\n\t\t\tRGBA(95, 21, 242, 1) 70%,\n\t\t\tRGBA(186, 12, 248, 1) 80%,\n\t\t\tRGBA(251, 7, 217, 1) 90%,\n\t\t\tRGBA(255, 0, 0, 1) 100%\n\t\t);\n\t}\n\t.LanguageBox > Div {\n\t\tBorder: Solid Black 1px;\n\t\tPadding: 4px;\n\t\tFont-Size: Larger;\n\t\tText-Align: Center;\n\t\tBackground: White;\n\t}\n\u003C/style>\n\u003Cdiv class=\"LanguageBox\">\u003Cdiv>\n\t\u003C$vars id={{!!i18n}}>\n\t\t\u003C$list filter=\"[!is[system]contains:i18n\u003Cid>]\">\n\t\t\t\u003C$link>\n\t\t\t\t\u003C$macrocall $name=\"i18n-target\"/>\n\t\t\t\u003C/$link>\n\t\t\u003C/$list>\n\t\u003C/$vars>\n\u003C/div>\u003C/div>\n\\end","tags":"$:/tags/Macro","title":"$:/Macros/i18n","modified":"20230108195259126"}, -{"created":"20230125222831006","creator":"Octt","text":"/*\\\nHide i18n namespace labels dynamically from the Breadcrumbs line\n(by wrapping them in CSS-selectable elements)\n\\*/\n(function(){\n\"use strict\";\nexports.name = \"i18nBreadcrumbsNamespaceLabelStrip\";\nexports.params = [];\n\nexports.run = function() {\ntry {\n var Languages = $tw.wiki.getTiddler('$:/i18n').fields.Languages.toLowerCase().split(' ');\n var Path = this.getVariable('currentTiddler');\n var Select = `.tc-story-river > div[data-tiddler-title=\"${Path}\"] > .View-Breadcrumbs > .Path-Elem`;\n var List = document.querySelectorAll(Select + ':last-of-type');\n for (var i=0; i \u003C List.length; i++) {\n // At end of tiddler path (e.g: Tests/Misc/Test:en)\n var Name = List[i].innerHTML.trim();\n var Code = Name.toLowerCase().split(':').slice(-1)[0];\n if (Languages.includes(Code)) {\n List[i].innerHTML = `${Name.split(':').slice(0, -1)}\u003Cspan class=\"Inline-Hidden\">:${Code}\u003C/span>`;\n } else {\n // At start of tiddler path (e.g: Testing:en/Misc/Test); handle $:/ prefix if present\n var Index = Path.startsWith('$:/') ? 2 : 1;\n var Code = Path.toLowerCase().split(':')[Index];\n (Code ? Code = Code.split('/')[0] : return '');\n if (Languages.includes(Code)) {\n var List = document.querySelectorAll(`${Select}:nth-child(${Index})`);\n for (var i=0; i \u003C List.length; i++) {\n // TODO // List[i].innerHTML = `\u003Cspan class=\"Inline-Hidden\">:${Code}\u003C/span>/${Path.split(':')[Index].split('/').slice(1).join('/')}`;\n };\n };\n };\n };\n} catch(e) {\n $OcttKB.ErrAtLine(e);\n};\n}})();","tags":"","title":"$:/Macros/i18nBreadcrumbsNamespaceLabelStrip.js","modified":"20230127170814485","modifier":"Octt","module-type":"macro","type":"application/javascript"}, +{"created":"20230125222831006","creator":"Octt","text":"/*\\\nHide i18n namespace labels dynamically from the Breadcrumbs line\n(by wrapping them in CSS-selectable elements)\n\\*/\n(function(){\n\"use strict\";\nexports.name = \"i18nBreadcrumbsNamespaceLabelStrip\";\nexports.params = [];\n\nexports.run = function() {\ntry {\n var Languages = $tw.wiki.getTiddler('$:/i18n').fields.Languages.toLowerCase().split(' ');\n var Path = this.getVariable('currentTiddler');\n var Select = `.tc-story-river > div[data-tiddler-title=\"${Path}\"] > .View-Breadcrumbs > .Path-Elem`;\n var List = document.querySelectorAll(Select + ':last-of-type');\n for (var i=0; i \u003C List.length; i++) {\n // At end of tiddler path (e.g: Tests/Misc/Test:en)\n var Name = List[i].innerHTML.trim();\n var Code = Name.toLowerCase().split(':').slice(-1)[0];\n if (Languages.includes(Code)) {\n List[i].innerHTML = `${Name.split(':').slice(0, -1)}\u003Cspan class=\"Inline-Hidden\">:${Code}\u003C/span>`;\n } else {\n // At start of tiddler path (e.g: Testing:en/Misc/Test); handle $:/ prefix if present\n var Index = Path.startsWith('$:/') ? 2 : 1;\n var Code = Path.toLowerCase().split(':')[Index];\n if () {\n Code = Code.split('/')[0];\n if (Languages.includes(Code)) {\n var List = document.querySelectorAll(`${Select}:nth-child(${Index})`);\n for (var i=0; i \u003C List.length; i++) {\n // TODO // List[i].innerHTML = `\u003Cspan class=\"Inline-Hidden\">:${Code}\u003C/span>/${Path.split(':')[Index].split('/').slice(1).join('/')}`;\n };\n };\n };\n };\n };\n} catch(e) {\n $OcttKB.ErrAtLine(e);\n};\n}})();","tags":"","title":"$:/Macros/i18nBreadcrumbsNamespaceLabelStrip.js","modified":"20230128230300417","modifier":"Octt","module-type":"macro","type":"application/javascript"}, {"created":"20220922135257709","text":"\u003C!-- The following code is almost totally derived from [[$:/core/macros/tabs]] --->\n\n\\define ltabs-button()\n\\whitespace trim\n\u003C$button set=\u003C\u003CltabsState>> setTo=\u003C\u003CcurrentTab>> default=\u003C\u003C__default__>> selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}} role=\"switch\">\n\t\u003Cspan> [[#|$(currentTab)$]] \u003C/span>\n\t\u003C$tiddler tiddler=\u003C\u003Csave-currentTiddler>>>\n\t\t\u003C$set name=\"tv-wikilinks\" value=\"no\">\n\t\t\t\u003C$transclude tiddler=\u003C\u003C__buttonTemplate__>> mode=\"inline\">\n\t\t\t\t\u003C$transclude tiddler=\u003C\u003CcurrentTab>> field=\"caption\">\n\t\t\t\t\t\u003C$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n\t\t\t\t\u003C/$transclude>\n\t\t\t\u003C/$transclude>\n\t\t\u003C/$set>\n\t\u003C/$tiddler>\n\t\u003C\u003C__actions__>>\n\u003C/$button>\n\\end\n\n\\define ltabs-tab()\n\\whitespace trim\n\u003C$set name=\"save-currentTiddler\" value=\u003C\u003CcurrentTiddler>>>\n\t\u003C$tiddler tiddler=\u003C\u003CcurrentTab>>>\n\t\t\u003C\u003Cltabs-button>>\n\t\u003C/$tiddler>\n\u003C/$set>\n\\end\n\n\\define ltabs-tab-list()\n\\whitespace trim\n\u003C$list filter=\u003C\u003C__ltabsList__>> variable=\"currentTab\" storyview=\"pop\">\n\t\u003C\u003Cltabs-tab>>\n\u003C/$list>\n\\end\n\n\\define ltabs-tab-body()\n\\whitespace trim\n\u003C$list filter=\u003C\u003C__ltabsList__>> variable=\"currentTab\">\n\t\u003C$reveal type=\"match\" state=\u003C\u003CltabsState>> text=\u003C\u003CcurrentTab>> default=\u003C\u003C__default__>> retain=\u003C\u003C__retain__>> tag=\"div\">\n\t\t\u003C$transclude tiddler=\u003C\u003C__template__>> mode=\"block\">\n\t\t\t\u003C$tiddler tiddler=\u003C\u003CcurrentTab>>>\n\t\t\t\t\u003C$transclude mode=\"block\" />\n\t\t\t\u003C/$tiddler>\n\t\t\u003C/$transclude>\n\t\u003C/$reveal>\n\u003C/$list>\n\\end\n\n\\define ltabs(ltabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain,actions,explicitState)\n\\whitespace trim\n\u003C$qualify title=\u003C\u003C__state__>> name=\"qualifiedState\">\n\t\u003C$let ltabsState={{{ [\u003C__explicitState__>minlength[1]] ~[\u003CqualifiedState>] }}}>\n\t\t\u003Cdiv class={{{ [[tc-tab-set]addsuffix[ ]addsuffix\u003C__class__>] }}}>\n\t\t\t\u003Cdiv class={{{ [[tc-tab-buttons]addsuffix[ ]addsuffix\u003C__class__>] }}}>\n\t\t\t\t\u003C\u003Cltabs-tab-list>>\n\t\t\t\u003C/div>\n\t\t\t\u003Cdiv class={{{ [[tc-tab-divider]addsuffix[ ]addsuffix\u003C__class__>] }}}/>\n\t\t\t\u003Cdiv class={{{ [[tc-tab-content]addsuffix[ ]addsuffix\u003C__class__>] }}}>\n\t\t\t\t\u003C\u003Cltabs-tab-body>>\n\t\t\t\u003C/div>\n\t\t\u003C/div>\n\t\u003C/$let>\n\u003C/$qualify>\n\\end\n","tags":"$:/tags/Macro","title":"$:/Macros/ltabs","modified":"20220925154754580"}, {"created":"20220920092322164","creator":"Octt","text":"\\whitespace trim\n\n\u003C!-- Transclude with clickable link --->\n\\define #:(Name)\n\u003Cstyle>\n.Transcluding > h1,\n.Transcluding > h2,\n.Transcluding > h3,\n.Transcluding > h4,\n.Transcluding > h5,\n.Transcluding > h6 {\nDisplay: Inline;\n}\n\u003C/style>\n\u003Cdiv class=\"Transcluding\">\n[[#|$Name$]]\n{{$Name$}}\n\u003C/div>\n\\end\n\n\u003C!-- Link to currentTiddler --->\n\\define lself() [[$(currentTiddler)$]]\n\\define #lself() [[#|$(currentTiddler)$]]\n\n\u003C!-- Field Checkbox --->\n\\define x#(Field Text)\n\u003C$checkbox field=\"$Field$\" checked=\"true\" unchecked=\"false\" default=\"false\"> $Text$\u003C/$checkbox>\n\\end\n\n\\define Table(Rows) \u003Ctable class=\"Octt-Table\" style=\"Width:100%;\">\u003Cstyle>.Octt-Table tr:nth-child(odd){background-color:#EEEEEE;}\u003C/style>$Rows$\u003C/table>\n\n\\define ColorText(Text Foreground)\n\u003Cspan style=\"Color:$Foreground$;\">$Text$\u003C/span>\n\\end\n\n\\define ColorSpan(Text Background)\n\u003Cspan style=\"Color:#FFFFFF; Background-Color:$Background$;\">$Text$\u003C/span>\n\\end\n\n\\define LImg(Src Href Alt)\n\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"$Href$\">\u003Cimg src=\"$Src$\" alt=\"$Alt$\">\u003C/a>\n\\end\n\n\\define StrAppend(Str Suffix Prefix) $Prefix$$Str$$Suffix$\n","tags":"$:/tags/Macro","title":"$:/Macros/Main","modified":"20230126201307117","modifier":"Octt"}, {"created":"20230108190340455","creator":"Octt","text":"/*\\\nSee [[$:/Macros/MediaWiki]] for usage of this macro.\nNote: source must always be credited, and thus it's not ideal to use this macro directly. Please use the \u003C\u003CMediaWiki>> wrapper macro instead, as it provides a link to the source automatically. (This feature is implemented in its own non-JS macro to make at least the URL show on static wiki exports.)\n\\*/\n\n(function(){\n\"use strict\";\nexports.name = \"MediaWikiEmbedInternal\";\nexports.params = [\n {name: \"Article\"},\n {name: \"Domain\"},\n {name: \"Sections\"},\n];\n\nexports.run = function(Article, Domain, Sections) {\ntry {\n let Text;\n Sections = parseInt(Sections) || 0;\n Domain = $OcttKB.MediaWiki.MkDomain(Domain);\n const Req = new XMLHttpRequest();\n Req.open('GET', Domain + '/w/api.php?action=query&formatversion=2&prop=extracts&format=json&origin=*&titles=' + Article, false);\n Req.send();\n Text = JSON.parse(Req.responseText).query.pages[0].extract;\n if (!Text) {\n Text = '\u003Cp>An error occurred while trying to extract the content. Close and reopen this \u003Ci>tiddler\u003C/i> to retry, or click the link to open the source in a new tab.\u003C/p>'\n };\n Text = Text.replaceAllTxt('\\n', '').replaceAllTxt('\u003Cp class=\"mw-empty-elt\">\u003C/p>', '');\n if (Sections != 0) {\n for (let i=1; i\u003C=6; i++) {\n Text = Text.replaceAllTxt(`\u003C/p>\u003Ch${i}>`, `\u003C/p>\u003C!--:PARAGRAPH:--->\\n\u003Ch${i}>`);\n };\n Text = Text.replaceAllTxt(`\u003C/p>\u003Cp>`, `\u003C/p>\u003C!--:PARAGRAPH:--->\u003Cp>`);\n //Text = Text.split('\u003C!--:PARAGRAPH:--->').slice(0, Max+1).join('');\n //Text = Text.split('\u003Cp>').slice(0, Max+1).join('\u003Cp>');\n if (Sections \u003C 0) {\n Sections = 0;\n };\n Text = Text.split('\u003C!--:PARAGRAPH:--->').slice(0, Sections).join('');\n //Text += '\u003Cp>[...]\u003C/p>'\n };\n/*\n Sections = Sections.split(' ');\n for (let i=0; i\u003CSections.length; i++) {\n const Sec = Sections[i];\n if (Sec) {\n const Ind = Sec.toLowerCase()[0];\n const Val = Sec.substring(1);\n if (Ind == 'p' || Ind == 's') {\n if (Ind == 'p') {\n const Sep = '\u003C!--:PARAGRAPH:--->';\n } else \n if (Ind == 's') {\n const Sep = '\u003C!--:SECTION:--->';\n };\n Text = Text.split(Sep).slice(0, Val).join('');\n } else\n if (Ind == '#') {\n \n };\n };\n };\n*/\n return Text;\n} catch(e) {\n return $OcttKB.ErrAtLine(e);\n};\n}})();","tags":"","title":"$:/Macros/MediaWiki/EmbedInternal.js","modified":"20230124213837502","type":"application/javascript","module-type":"macro","modifier":"Octt"}, @@ -319,7 +320,7 @@ Error message and password prompt {"created":"20230126102445110","creator":"Octt","title":"$:/state/folded/$:/core/ui/ViewTemplate/title","text":"hide","modified":"20230126102449007","modifier":"Octt"}, {"created":"20221110131939563","title":"$:/state/folded/$:/Macros/b64TidUriEnc.js","text":"show","modified":"20221110151548461"}, {"created":"20221109221630590","title":"$:/state/folded/$:/Macros/Data","text":"show","modified":"20221109221631102"}, -{"created":"20230126193705276","creator":"Octt","title":"$:/state/folded/$:/Macros/Directory","text":"hide","modified":"20230126200213670","modifier":"Octt"}, +{"created":"20230126193705276","creator":"Octt","title":"$:/state/folded/$:/Macros/Directory","text":"hide","modified":"20230128224823610","modifier":"Octt"}, {"created":"20230112104535152","title":"$:/state/folded/$:/Macros/MediaWiki","text":"show","modified":"20230112104541859"}, {"created":"20230112185534487","title":"$:/state/folded/$:/Macros/MediaWiki/EmbedInternal.js","text":"show","modified":"20230112185948782"}, {"created":"20230112185529249","title":"$:/state/folded/$:/Macros/MediaWiki/GetCover.js","text":"show","modified":"20230112185947655"}, @@ -370,15 +371,15 @@ Error message and password prompt {"created":"20221108100203119","title":"$:/state/plugin-info-1785259528-$:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki---1739364784","text":"contents","modified":"20221108100244432"}, {"created":"20220920140149154","title":"$:/state/plugin-info-1958370054-$:/core--2000059281","text":"contents","modified":"20220920140149154"}, {"created":"20230108195707554","title":"$:/state/plugin-info-1998008712-$:/plugins/tiddlywiki/railroad--119403598","text":"readme","modified":"20230108195709210"}, -{"created":"20220920140732083","creator":"Octt","title":"$:/state/showeditpreview","text":"no","modified":"20230126124525081","modifier":"Octt"}, +{"created":"20220920140732083","creator":"Octt","title":"$:/state/showeditpreview","text":"no","modified":"20230128232030648","modifier":"Octt"}, {"created":"20220920114858684","title":"$:/state/ShowPaletteEditor","text":"yes","modified":"20220920114858684"}, -{"created":"20220920174307633","creator":"Octt","title":"$:/state/sidebar","text":"yes","modified":"20230127171912464","modifier":"Octt"}, +{"created":"20220920174307633","creator":"Octt","title":"$:/state/sidebar","text":"yes","modified":"20230128225103656","modifier":"Octt"}, {"created":"20220922115715109","title":"$:/state/tab--1091387428","text":"Music Archiving Status/Desired","modified":"20220923072023997"}, {"created":"20230109143853256","title":"$:/state/tab--1498284803","text":"$:/ThirdParty/TiddlyTools/FilterGenerators/Tags","modified":"20230111152605880"}, {"created":"20230117125310625","creator":"Octt","title":"$:/state/tab--1581376822","text":"$:/plugins/flibbles/relink/ui/TiddlerInfo/References","modified":"20230117125313877","modifier":"Octt"}, {"created":"20230110152826768","title":"$:/state/tab--1588928600","text":"$:/core/ui/TiddlerInfo/Fields","modified":"20230110152833719"}, {"created":"20220920191426046","title":"$:/state/tab--1885964178","text":"$:/core/ui/TiddlerInfo/Tools","modified":"20220920191431231"}, -{"created":"20220920090533937","title":"$:/state/tab--1963855381","text":"$:/themes/tiddlywiki/starlight/themetweaks","modified":"20230110230338024"}, +{"created":"20220920090533937","creator":"Octt","title":"$:/state/tab--1963855381","text":"$:/core/ui/ControlPanel/Toolbars","modified":"20230128224551962","modifier":"Octt"}, {"created":"20220920090438306","title":"$:/state/tab--2112689675","text":"$:/core/ui/ControlPanel/Basics","modified":"20230110160759265"}, {"created":"20230110215945671","title":"$:/state/tab--257319936","text":"$:/core/ui/TiddlerInfo/References","modified":"20230110215951590"}, {"created":"20230124112758912","creator":"Octt","title":"$:/state/tab--639260661","text":"$:/core/ui/ControlPanel/Plugins/Add/Updates","modified":"20230124112758912","modifier":"Octt"}, @@ -386,7 +387,7 @@ Error message and password prompt {"created":"20220920090526980","title":"$:/state/tab--86143343","text":"$:/core/ui/ControlPanel/Plugins/Installed/Plugins","modified":"20230110151448831"}, {"created":"20220920090443750","title":"$:/state/tab--959111941","text":"$:/core/ui/ControlPanel/Cascades","modified":"20220921221337899"}, {"created":"20220922140851532","title":"$:/state/tab-1087611455","text":"Music Archiving Status/marsy","modified":"20220922212223216"}, -{"created":"20220920090405977","creator":"Octt","title":"$:/state/tab-1749438307","text":"$:/core/ui/ControlPanel/Plugins","modified":"20230117123707349","modifier":"Octt"}, +{"created":"20220920090405977","creator":"Octt","title":"$:/state/tab-1749438307","text":"$:/core/ui/ControlPanel/Appearance","modified":"20230128224549118","modifier":"Octt"}, {"created":"20230110215926447","title":"$:/state/tab-1754034960","text":"$:/core/ui/TiddlerInfo/References","modified":"20230110215935623"}, {"created":"20220922151106305","title":"$:/state/tab-2025781229","text":"Music Archiving Status/Android52","modified":"20220922151357705"}, {"created":"20220920091923734","title":"$:/state/tab-2065006209","text":"$:/core/ui/ControlPanel/Saving/GitLab","modified":"20230109162251967"}, @@ -396,16 +397,16 @@ Error message and password prompt {"created":"20230108195829187","title":"$:/state/tab-791689762","text":"$:/plugins/tiddlywiki/qrcode/MakeContactQR","modified":"20230108195830858"}, {"created":"20230110152841020","title":"$:/state/tab-914888664","text":"$:/core/ui/TiddlerInfo/References","modified":"20230110152841020"}, {"created":"20220921221238452","title":"$:/state/tab-99014043","text":"$:/core/ui/ControlPanel/EditTemplateBody","modified":"20220921221239099"}, -{"created":"20220920114911876","creator":"Octt","title":"$:/state/tab/moresidebar-1850697562","text":"$:/core/ui/MoreSideBar/Explorer","modified":"20230127160559719","modifier":"Octt"}, -{"created":"20220920092307479","creator":"Octt","title":"$:/state/tab/sidebar--595412856","text":"TableOfContents","modified":"20230127171529510","modifier":"Octt"}, -{"created":"20220920114638764","title":"$:/state/tabs/controlpanel/toolbars-1345989671","text":"$:/core/ui/ControlPanel/Toolbars/EditToolbar","modified":"20230109112510655"}, +{"created":"20220920114911876","creator":"Octt","title":"$:/state/tab/moresidebar-1850697562","text":"$:/core/ui/MoreSideBar/All","modified":"20230128225210015","modifier":"Octt"}, +{"created":"20220920092307479","creator":"Octt","title":"$:/state/tab/sidebar--595412856","text":"TableOfContents","modified":"20230129000715763","modifier":"Octt"}, +{"created":"20220920114638764","creator":"Octt","title":"$:/state/tabs/controlpanel/toolbars-1345989671","text":"$:/core/ui/ControlPanel/Toolbars/PageControls","modified":"20230128224606306","modifier":"Octt"}, {"created":"20230109231545587","text":"inline","title":"$:/state/tag-cloud-count","modified":"20230109231831243"}, {"created":"20230111212759834","title":"$:/state/toc/TableOfContents-Apps--1089262602","text":"close","modified":"20230111212800395"}, {"created":"20230109161519933","title":"$:/state/toc/TableOfContents-Apps--118161433","text":"close","modified":"20230109221359461"}, {"created":"20230113225711354","title":"$:/state/toc/TableOfContents-Apps--1742311157","text":"close","modified":"20230113225714092"}, {"created":"20230111152831238","title":"$:/state/toc/TableOfContents-Apps-550494662","text":"close","modified":"20230111152835422"}, {"created":"20230109221055460","title":"$:/state/toc/TableOfContents-OcttKB--118161433","text":"close","modified":"20230109222508816"}, -{"created":"20230110183137080","creator":"Octt","title":"$:/state/toc/TableOfContents-OcttKB--1742311157","text":"close","modified":"20230126190050460","modifier":"Octt"}, +{"created":"20230110183137080","creator":"Octt","title":"$:/state/toc/TableOfContents-OcttKB--1742311157","text":"close","modified":"20230128231020288","modifier":"Octt"}, {"created":"20230110193924411","title":"$:/state/toc/TableOfContents-OcttKB-1491465924","text":"close","modified":"20230112145642401"}, {"created":"20230126190600213","creator":"Octt","title":"$:/state/tree/$:/","text":"hide","modified":"20230126190604989","modifier":"Octt"}, {"created":"20230110224516936","title":"$:/state/tree/$:/.tb/","text":"show","modified":"20230110224516936"}, @@ -496,7 +497,7 @@ Error message and password prompt {"created":"20220920211944968","text":"{{$:/OcttKB/StaticBanner}}","tags":"","title":"$:/StaticBanner","modified":"20230112221911675"}, {"title":"$:/status/RequireReloadDueToPluginChange","text":"no"}, {"created":"20230117123049592","creator":"O","title":"$:/status/UserName","text":"Octt","modified":"20230117123050206","modifier":"Oct"}, -{"title":"$:/StoryList","created":"20230127153705858","creator":"Octt","text":"","list":"","modified":"20230127171526598","modifier":"Octt"}, +{"created":"20230128224439337","creator":"Octt","title":"$:/StoryList","text":"","list":"Samsung:en","modified":"20230129000712561","modifier":"Octt"}, {"created":"20230114161404958","text":"/*\\\nCredits: 1337box by Leah Rowe, Creative Commons Zero 1.0\nInfo: \u003Chttps://vimuser.org/1337box.html>\n\\*/\n.f, .f * {\n position: fixed;\n max-width: 100%;\n max-height: 100%;\n top: 50%;\n left: 50%\n}\n.f * { transform: translate(-50%,-50%) }\n.f {\n display: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 999;\n background:rgba(0,0,0,0.8);\n}\n*:focus + .f { display:block; }\nimg { cursor:pointer; }\n","title":"$:/Styles/1337box/shadow.css","modified":"20230114163044372","type":"text/css","tags":""}, {"created":"20230124224040783","creator":"Octt","text":"\u003C!-- Original image is by \u003Chttps://bilibili.com> -->\n\u003C!-- \u003Cdiv -->\n\u003Ca\nclass=\"bilibili-back-to-top\"\ntitle=\"Cute little lolis from bilibili to help you reach the top of the page...\"\nstyle=\"\n\ndisplay: block; \nposition: fixed;\n/*\nbottom: 100px;\nright: 20px;\n*/\nbottom: 4px;\nleft: 4px;\ntransform: translateY(0px);\nwidth: 62px;\nheight: 85px;\n/*\nmargin-left: 602px;\n*/\ntransform: scale(0.5);\ncursor: pointer;\nbackground-image: url(https://s1.hdslb.com/bfs/static/jinkela/space/assets/space-to-top.png);\nbackground-position: -40px -44px;\n\n\" href=\"javascript:(function(){\n\nvar Select = [\n '.tc-story-river > .story-backdrop',\n '.tc-sidebar-scrollable .tc-sidebar-header .tc-site-title',\n];\nfor (var i=0; i \u003C Select.length; i++) {\n var Elem = document.querySelectorAll(Select[i])[0];\n Elem.scrollIntoView();\n};\nalert('TODO animation');\n\n})();\">\u003C/a>\n\u003C!--\n\" onclick=\"\n\">\u003C/div>\n-->","tags":"","title":"$:/Styles/bilibili-back-to-top.html","modified":"20230127171431680","modifier":"Octt"}, {"created":"20230126091040410","creator":"Octt","text":".tc-story-river > .tc-tiddler-frame > .tc-tiddler-title .tc-title { /*display: none;*/ }\n.tc-story-river > .tc-tiddler-frame > .View-Breadcrumbs {\n opacity: 0.80;\n/*\n font-size: xx-large;\n margin-top: 0px;\n margin-bottom: -1.5em;\n position: sticky;\n z-index: 512;\n*/\n}\n.tc-story-river > .tc-tiddler-frame:not(.tc-tiddler-missing) > .View-Breadcrumbs > * {\n /*font-style: normal !important;*/\n opacity: 0.40;\n}\n.tc-story-river > .tc-tiddler-frame:not(.tc-tiddler-missing) > .View-Breadcrumbs:hover > * { opacity: 0.80; }\n.tc-story-river > .tc-tiddler-frame > .View-Breadcrumbs > .Inline-Icon > * {\n width: 1em;\n height: 1em;\n vertical-align: top;\n}\n\n/*.View-Breadcrumbs > .Inline-Sep:not(.View-Breadcrumbs > .Inline-Sep:last-of-type):before*/\n.View-Breadcrumbs > .Inline-Sep { padding: 0.20em; }\n.View-Breadcrumbs > .Inline-Sep:after { content: '>'; }\n.View-Breadcrumbs > .Inline-Sep > span { font-size: 0px; }\n.View-Breadcrumbs > .Path-Elem[data-path-elem=\"$:\"] > a { color: inherit; }\n.View-Breadcrumbs > .Path-Elem[data-path-elem=\"$:\"] + .Inline-Sep:after { content: ''; }\n.View-Breadcrumbs > .Path-Elem[data-path-elem=\"$:\"] + .Inline-Sep > span { font-size: initial; }\n","title":"$:/Styles/Breadcrumbs.css","modified":"20230126124651929","modifier":"Octt","type":"text/css","tags":"$:/tags/Stylesheet"}, @@ -550,6 +551,8 @@ Error message and password prompt {"created":"20230124213630708","creator":"Octt","text":"\u003C\u003CiFrame \"https://en.wikipedia.org/wiki/Full_Tilt!_Pinball#3D_Pinball_for_Windows_%E2%80%93_Space_Cadet\">>","tags":"i18n:en TODO","title":"3D Pinball:en","modified":"20230124214127538","modifier":"Octt"}, {"created":"20230108192258947","text":"\u003C\u003CMediaWiki ActivityPub en 1>>","title":"ActivityPub:en","modified":"20230111152725841","tags":"TODO"}, {"created":"20230110225425199","text":"\u003C\u003CMediaWiki Animal_Crossing en 2>>","tags":"Nintendo i18n:en Gaming TODO","title":"Animal Crossing:en","modified":"20230111152734576"}, +{"created":"20230128233320444","creator":"Octt","text":"The ''Anti-Capitalist Software License'' (''ACSL'') is a license for proprietary software that, while with some good intentions, has a questionable implementation resulting in bad qualities. It's not open-source, and thus should be avoided for most projects. I don't think it could hold in a court of law.\n\n* Website: [[anticapitalist.software|https://anticapitalist.software]]\n\nI've seen a number higher than one of modified versions of this license in the wild:\n\n* Form promoting the anti-cryptocurrency narrative: https://github.com/Lana-chan/webgbcam/raw/main/LICENSE\n","tags":"i18n:en","title":"Anti-Capitalist Software License:en","modified":"20230129000153546","modifier":"Octt"}, +{"created":"20230128234619470","creator":"Octt","text":"The ''Anti-Fascist MIT License'' is a MIT license modified with additional text to prohibit use by fascists. I don't think fascists will respect it, one of their mottos is literally \"me ne frego\" (\"I don't care\"), nor do I think the license could actually hold in a court of law, but the intentions behind it are good.\n\n* Repo: [[github.com/jamiebuilds/anti-fascist-mit-license|https://github.com/jamiebuilds/anti-fascist-mit-license]]\n\nAfter further research, it appears that forks exist:\n\n* https://github.com/Laurelai/anti-fascist-mit-license\n","tags":"i18n:en","title":"Anti-Fascist MIT License:en","modified":"20230129000653975","modifier":"Octt"}, {"created":"20230109155822410","text":"\u003C\u003CTCurDirList>>","title":"Apps","modified":"20230110165725755","tags":"TableOfContents"}, {"created":"20221108215709619","text":"\u003C\u003CiFrame100Tid \"$:/Apps/Dashboard/index.html\">>","tags":"i18n:en Apps","title":"Apps/Dashboard","modified":"20230111214040983","type":"text/vnd.tiddlywiki"}, {"created":"20220922205247845","text":"Collection of miscellaneous articles I read around the Web and found nice.\n\n!!! 2022-09-23\n* [[The sum of all knowledge and the sorry state of the web|https://christianheilmann.com/2022/08/29/the-sum-of-all-knowledge]]\n\n!!! 2022-09-22\n* [[Lose Weight the Slow and Incredibly Difficult Way|https://nautil.us/lose-weight-the-slow-and-incredibly-difficult-way-239703/]] - //Trying to answer a silly question can take you through some serious science.//","tags":"Reading i18n:en","title":"Articles","modified":"20220926115012451"}, @@ -589,7 +592,7 @@ Error message and password prompt {"created":"20230113102628101","text":"\u003C\u003CMediaWiki Lemmy_(software) en 1>>\n\n* Website: [[join-lemmy.org|https://join-lemmy.org]]\n* Git: [[github.com/LemmyNet/lemmy|https://github.com/LemmyNet]]\n* Developer's Instance: [[lemmy.ml|https://lemmy.ml]]","tags":"TODO Fediverse i18n:en","title":"Lemmy:en","modified":"20230114143356230"}, {"created":"20230116221513491","text":"","tags":"i18n:en TODO","title":"Libretro:en","modified":"20230116222001210"}, {"created":"20230111153758951","text":"\u003C\u003CMediaWiki Linux en 5>>","tags":"i18n:en TODO","title":"Linux:en","modified":"20230111153845225"}, -{"created":"20230111114229130","text":"* ''2023-01-10'' \u003Cdiv>\n\n; \"This group is unavailable due to copyright infringement.\"\n: TODO\n\u003C/div>\n","tags":"i18n:it TODO","title":"Lista incidenti","modified":"20230114125132061"}, +{"created":"20230111114229130","creator":"Octt","text":"* ''2023-01-10'' \u003Cdiv>\n\n; \"This group is unavailable due to copyright infringement.\"\n: I commenti erano appena stati attivati sul canale Telegram Animali_Crostini, tramite un gruppo chiamato \"//This group is unavailable due to copyright infringement//\", per scherzare sui modi di fare in generale di Nintendo contro chi viola il copyright. Intanto su [[spacctorium]] si stava discutendo di argomenti che potrebbero essere visti come violazione dei copyright (non di Nintendo). Ad un certo punto, noto un commento di L. nel gruppo del canale di Animali_Crostini, e invio una reazione come risposta. A quel punto, L. riceve una notifica desktop con il pauroso nome del gruppo, e l'anteprima del mio messaggio; immediatamente fa un avviso raffazzonato su spacctorium (senza porsi domande su perché fosse ancora visibile col nome normale) e scappa via, per poi scrivermi in privato. Ha creduto per un momento qualcosa di assurdo: che da ora Telegram faccia analisi in tempo reale dei messaggi per individuare violazioni di copyright. Ho dovuto spiegargli io la situazione. ''TLDR'': È avvenuto del trolling pesantissimo, ma involontario.\n","tags":"i18n:it TODO","title":"Lista incidenti","modified":"20230128231831535","modifier":"Octt"}, {"created":"20230110220005274","text":"\u003C\u003CMediaWiki Mastodon_(social_network) en 3>>","tags":"Fediverse i18n:en TODO","title":"Mastodon:en","modified":"20230113102539290"}, {"created":"20230114154554721","text":"\u003C\u003CMediaWiki Matrix_(protocol) en 2>>","tags":"i18n:en Internet TODO","title":"Matrix:en","modified":"20230114154702945"}, {"created":"20220923130111988","text":"[[MeBoy|http://arktos.se/meboy]] is a libre (GPLv2) [[Game Boy|Game Boy:en]] (and Game Boy color) emulator for the [[J2ME|J2ME:en]] platform.","tags":"Emulation Gaming Nintendo [[Game Boy]] i18n:en","title":"MeBoy:en","modified":"20220926115012739"}, @@ -614,7 +617,7 @@ Error message and password prompt {"created":"20230110214847556","text":"''[[Nitter|https://github.com/zedeus/nitter]]'' is a free and open source alternative [[Twitter|Twitter:en]] front-end focused on privacy and performance.\n\nQuoting from the project's README:\n\n\u003C\u003C\u003C\nInspired by the Invidious project.\n\n* No JavaScript or ads\n* All requests go through the backend, client never talks to Twitter\n* Prevents Twitter from tracking your IP or JavaScript fingerprint\n* Uses Twitter's unofficial API (no rate limits or developer account required)\n* Lightweight (60KB vs 784KB from twitter.com)\n* RSS feeds\n* Themes\n* Mobile support (responsive design)\n* AGPLv3 licensed, no proprietary instances permitted\n\u003C\u003C\u003C\n","tags":"Internet i18n:en","title":"Nitter:en","modified":"20230116222336537"}, {"created":"20230111120518929","text":"\u003C\u003CMediaWiki Nonogram en 3>>\n\n!! ''Gamin' Time''\n\n\u003C\u003CiFrameFixed \"https://jokude.github.io/react-nonogram\">>","tags":"i18n:en TODO Gaming Puzzle","title":"Nonogram:en","modified":"20230113175921673"}, {"created":"20220920160811383","creator":"Octt","text":"!! Welcome to my Personal {Knowledge Base + Public Notebook}!\n\nGeneral information about the site will soon be available. Licensing information is available [[here|OcttKB/Licensing]].\n\n!!! ''Table of Contents''\n{{$:/OcttKB/ToC}}\n\n!!! ''External Links''\n* ''My Hub'', Global Home Page: https://hub.octt.eu.org - Links to my blog, webapps, and social profiles\n* ''KB Git Repo'' (deploy scripts, + some history): https://gitlab.com/octtspacc/OcttKB\n\n!!! ''Tags''\n{{$:/OcttKB/TagCloud}}\n\u003C!--\n\u003Cspan style=\"Line-Height:2em;\">\n\u003C$list filter=\"[tags[]!is[system]]\">\n\u003Cspan style=\"Padding:2px;\">\n\u003C$macrocall $name=\"tag\" tag={{!!caption}}/>\n\u003C/span>\n\u003C/$list>\n\u003C/span>\n--->\n\u003C!--\n\u003C\u003Clist-links filter:\"[!is[system]tags[]]\">>\n--->\n\n\u003Cbr>\n\n\u003Cdetails>\n \u003Csummary>\n \u003Ch3 style=\"display: inline; font-style: bold;\">\n All Tiddlers\n \u003C/h3>\n \u003C/summary>\n {{$:/OcttKB/AllTiddlers}}\n\u003C/details>\n\n\u003Cbr>\u003Chr>\u003Cbr>\n\n(Partial) [[Copyright © 2022, OctoSpacc|OcttKB/Licensing]] || OcttKB is powered by [[TiddlyWiki|TiddlyWiki:en]].\n\n\u003Csmall>//As with any TiddlyWiki, you can make your own changes right here and save them locally for yourself.//\u003C/small>","tags":"i18n:en Meta TableOfContents","title":"OcttKB","modified":"20230126190719726","modifier":"Octt"}, -{"created":"20220920160642961","text":"!!! Macros\n> \u003C\u003CTDirList $:/Macros 4>>\n\n!!! Theming\n> \u003C\u003CTDirList $:/Styles 4>>\n* [[$:/palettes/Octt Light]]\n\n!!! Modified system files\n* $:/StaticBanner (Shown as banner in statically exported pages)\n* $:/core/templates/static.content (Shown as static HTML content in the standard TiddlyWiki file)\n* $:/core/templates/exporters/StaticRiver (Added meta viewport for correct viewing on mobile) [[[Pull Request|https://github.com/Jermolene/TiddlyWiki5/pull/6953]]]\n* ~~$:/themes/tiddlywiki/vanilla (Changed paddings)~~","tags":"TiddlyWiki i18n:en OcttKB","title":"OcttKB/Hacks","modified":"20230112221919315"}, +{"created":"20220920160642961","creator":"Octt","text":"!!! Macros\n> \u003C\u003CTDirList $:/Macros 4>>\n\n!!! Theming\n> \u003C\u003CTDirList $:/Styles 4>>\n* [[$:/palettes/Octt Light]]\n\n!!! Modified system files\n* $:/StaticBanner (Shown as banner in statically exported pages)\n* $:/core/templates/static.content (Shown as static HTML content in the standard TiddlyWiki file)\n* $:/core/templates/exporters/StaticRiver (Added meta viewport for correct viewing on mobile) [[[Pull Request|https://github.com/Jermolene/TiddlyWiki5/pull/6953]]]\n\n\u003C!--\n* ~~$:/themes/tiddlywiki/vanilla (Changed paddings)~~\n-->","tags":"TiddlyWiki i18n:en OcttKB","title":"OcttKB/Hacks","modified":"20230128230715917","modifier":"Octt"}, {"created":"20220924173239034","creator":"Octt","text":"All my //original content// on this website, unless where otherwise specified, is licensed under [[CC BY-SA 4.0|Creative Commons/BY-SA 4.0:en]].\n\nIt is a [[free culture]] license that promotes the benefits of making information available for anyone to learn from and build upon. However, be sure to know its terms before doing anything other than just consuming the site!\n\nYou can easily recognize which of the directly hosted (entirely contained in a //tiddler// itself, like text, string-encoded files, or standalone files in the file system) content is my original creation: it's anything that features no indication of source or license.\n\nUnless I forget to do so in specific instances, I always credit the source and/or specify the original license for anything upon which I don't hold 100% of the rights (even public domain content) and is a straight copy. I may not do so if the content in question is not directly copied //into// my site, but instead embedded from a Web space which is the property of another entity - in which case, a clickable link directing to the source will be present; if not, you can click the pencil-shaped (edit) button to read the source code for a specific //tiddler//, to discover possible external embed URLs.\n\nThe above is valid for all //content tiddlers// (those whose name does not start with `$:/`) and all //system tiddlers// created by me (not part of standard [[TiddlyWiki|TiddlyWiki:en]] or any of my [[installed plugins|$:/core/ui/ControlPanel/Plugins]]).\n\n//Non-original system tiddlers// which I never touched, obviously fall under their own license; but, for simplicity of operations, as well as to avoid accidentally claiming ownership on code not written by me, I hereby explicitly give away my copyright for //non-original system tiddlers// that I modified from their original state. This means you can consider those as always falling under their original license, even if I touched them; From another point of view, you can effectively consider any //diff// generated between the original version of a //system tiddler// and my modified version of the same file as falling under public domain.\n\n{{$:/OcttKB/LicensingButtons}}","tags":"i18n:en OcttKB","title":"OcttKB/Licensing","modified":"20230126124806794","modifier":"Octt"}, {"created":"20230109220804304","text":"\u003C!--\n!! Clouds!\n\nAre these useless? ''Yes!'' But they are so pretty...\n\n{{$:/OcttKB/TagCloud}}\n--->\n\nI still have to put a lot of stuff here... see [[TiddlyWiki:en]]","tags":"i18n:en OcttKB","title":"OcttKB/Stats","modified":"20230111082547532"}, {"created":"20230126105640952","creator":"Octt","text":"!!! ''WIP/TODO''\n\n* Move all bachecoctt links (and old GitHub stars) to proper tiddlers\n* Personal easy notes on various technical things of TiddlyWiki\n* Organize all my customizations into plugins easily installable by anyone\n* On showing date and time of last wiki saving (on Index tab on sidebar), also consider when a system tiddler is edited\n\n* Breadcrumbs bar only shown on tiddlers which are or are in a directory / Find a good way to integrate it in the tiddler title maybe, to save on screen space.\n** Show unformatted title on click or at least disable hiding of some tokens\n** Button to copy full path to clipboard\n\n* Custom proper reusable directory tree browser (maybe like the one we have with $:/OcttKB/ToC)\n** To use instead of the [[Directory macros|$:/Macros/Directory]], showing automatically on pages that are directories, and also as a file browser for the whole wiki\n\n* Data compression of everything (without breaking TiddlyWiki CLI support)\n** Choosing algorithm: best is probably Zstd\n** Tiddlers should be stored compressed individually; At saving, they are all compressed and stored in the HTML; At loading, they are read and decompressed to start the app\n** Single tiddlers are only compressed when it actually saves space, they should be checked at saving stage\n\n* When opening missing tiddlers, show a preview from Wikipedia or from word dictionaries, with GUI to customize fetching options\n* To the possible extent, save Git deploy scripts for the KB inside itself, for easy editing needs\n* Case insensitivity for tiddlers (?)\n* Handy button to reload direct scripts like $:/OcttKB/Functions.js\n* A way to reload any internal script (JS macros and exports) without reloading the entire wiki\n* Button to reload a single tiddler; if not possible, then the macros that can fail (e.g. MediaWiki, or all which fetch content from the Internet) should provide their own retry button\n* Fix images embedded with CSS float, make them not go out of tiddler's body if too tall\n* Better positioning of open/close sidebar button (should move the tiddler action bar buttons slightly to the left on single-column layout at least)\n\n* Add a feature to let users send issues or pull requests\n* Maybe add normal user comments?\n\n* Rehost embedded games for better CSS\n** Find the best retro console HTML5 emulator to embed in tiddlers which talk about certain games - they also need to be adapted to load ROMs from URL\n\n* In here I also put some tiddlers that are about a mainstream thing or topic just because they are connected to a more worthy tiddler; they should be tagged as Mainstream so that they can be filtered out in search and stuff\n* Special protection for some tiddlers, not encryption necessarily but just lock access to them globally until a specific task is performed (a password inputted is boring, maybe specific screen swipes is better)\n\n* \"Back to top\" button\n** Made with the style of bilibili, graphic is reused but logic needs to be reprogrammed\n\n!!!! ''Nice to have''\n* When tiddlers are transcluded show a small version of their action bar without the `\u003C\u003C{ >>` macro\n* Automatic lightboxes for images, without having to use the `\u003C\u003Cibox>>` macro\n\n!!!! ''i18n''\n* Make the language bar collapsed by default, or make it a menu callable by a button on the tiddler\n** Show the button as a country flag in the tiddler title maybe? Ideally showing it in place of the \":lang\" suffix when present\n* Selecting to open a language on a tiddler should ideally remove the previously open tiddler from the story river (or else if you switch language many times you have a cluttered river but no real advantage)\n* Automatically handle connections between different-language versions of a tiddler when the only difference in title is the \":lang\" suffix, without manually setting \"i18n\" attribute\n* Automatically handle eventual tiddlers which don't exist by their common i18n name (e.g \"Thing\") but do with a \":lang\" suffix, that should automatically transclude the //preferred language//\n** Preferred language could be enforced by the user with a global setting, or just be set softly based on the language of the last tiddler opened by the user (latter is ideal)\n\n!!!! ''External wikis''\n* Unified transclusion features for external TiddlyWikis and MediaWikis\n** Adapt the [[MediaWiki macro|$:/Macros/MediaWiki]] to:\n** Have internal links present\n*** Add lists of known wikis callable from a shorthand name\n*** Choosing number (by total from first/last, or ranges), or titles, of paragraphs or chapters to transclude (with support for specifying items to exclude)\n*** Retrieving and embedding files from wiki or Commons by known name (`File:`)\n*** It must also handle files that aren't images (audio/video)\n**** Default embed displays also the article cover image, allow setting a custom file or just `none`\n** Understand transclusions from external TiddlyWikis (it seems like people just use iframes, OK for showing things but not for choosing to display specific limited sections)\n* Somehow have working full-text search for tiddlers that transclude external wikis?\n\n!!!! ''Graphing and statistics''\n* Keyword (not tag) cloud ([[[tw5] Simple Word Clouds|https://talk.tiddlywiki.org/t/tw5-simple-word-clouds/3234]]?)\n* Need to get an automatic relationship map (like the one on [[https://baczek.me/map/]])\n* Activity view with calendar (like KOReader) or squares wall (Git)\n","tags":"","title":"OcttKB/WIP","modified":"20230126111538567","modifier":"Octt"}, @@ -633,6 +636,7 @@ Error message and password prompt {"created":"20230109104506263","text":"\u003C\u003CMediaWiki Reddit en 1>>","tags":"i18n:en Internet TODO","title":"Reddit:en","modified":"20230113105723193"}, {"created":"20230116222004372","text":"\u003C\u003CMediaWiki RetroArch en 3>>","tags":"i18n:en TODO","title":"RetroArch:en","modified":"20230116222135399"}, {"created":"20221102121324531","text":"\u003C\u003CMediaWiki Retrogaming en 1>>\n\n!! ''Resources''\n\n!!! ''ROMs''\n* [[r/Roms Megathread|https://r-roms.github.io]]\n* [[No-Intro Romsets|https://archive.org/details/no-intro_romsets]]\n* [[Redump Romsets|https://archive.org/details/redump]]\n","tags":"i18n:en Emulation Retrogaming","title":"Retrogaming:en","modified":"20230116215456646"}, +{"created":"20230128231917475","creator":"Octt","text":"\u003C\u003CMediaWiki Samsung en 1>>\n\nInside the community, some Samsung products, notably smartphones in general, are called various names:\n\n* ''Lagsung'' (Lag+Samsung): Because their [[OneUI]] Android interface is notoriously laggy, and considered \"gummy\" by some.\n* ''Scamsung'' (Scam+Samsung): The company's smartphones, mainly lowest-end ones, are sometimes considered so low-quality, for various factors, that they are seen as scams.\n* ''Gnusmas'': Just the word \"Samsung\" in reverse. I've only really seen 1 or 2 people use this name, and I don't know its real reason.\n* ''handwarmer'': Referred to the company's [[Exynos]] processors, used in their smartphones; they tended to heat up so much that you could use your phone as an hand warmer (sometimes hand burner!). Although nowadays these chips still have their issues compared to some counterparts, the problem that got them this name is effectively a thing of the past.","tags":"i18n:en","title":"Samsung:en","modified":"20230128233212642","modifier":"Octt"}, {"created":"20230116211104011","text":"Random saved links that I should put somewhere...\n\n* https://play.google.com/store/apps/details?id=com.stove.snowcube.google\n* https://www.goatcounter.com","tags":"i18n:en","title":"Saved Links","modified":"20230117104834598"}, {"created":"20220924130815541","text":"!!! Replace for all files in all subdirectories\n\n```sh\nfind ./ -type f -exec sed -i \"s/Old/New/g\" {} \\;\n```","tags":"Snippets i18n:en","title":"sed/Snippets","modified":"20230114125213734"}, {"created":"20230114151517618","text":"\u003C\u003CMediaWiki Sokoban en 3>>\n\n!! ''Gamin' Time''\n\n\u003C\u003CiFrameFixed \"https://sokobanz.vercel.app\">>\n\n!! ''Implementations''\n\n* ''🧩 Sokoban game and automated puzzle solver (healeycodes)'': [[Web|https://sokobanz.vercel.app]] | [[Git|https://github.com/healeycodes/sokoban]]\n* 🐇 ''SokoBun'': [[Web|https://mewesk.github.io/sokobun]] | [[Git|https://github.com/MewesK/sokobun]]\n","tags":"i18n:en Puzzle Gaming","title":"Sokoban:en","modified":"20230116221314069"},