mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-06 10:06:19 +00:00
137 lines
4.0 KiB
Plaintext
137 lines
4.0 KiB
Plaintext
title: MultiWikiServer Administration
|
|
|
|
\procedure createBag(name)
|
|
|
|
\procedure completion-createBag()
|
|
\import [subfilter{$:/core/config/GlobalImportFilter}]
|
|
<$action-log msg="In completion-createBag"/>
|
|
<$action-log/>
|
|
\end completion-createBag
|
|
|
|
<$action-sendmessage
|
|
$message="tm-http-request"
|
|
url=`/wiki/$(name)$/bags/$(name)$`
|
|
method="PUT"
|
|
oncompletion=<<completion-createBag>>
|
|
/>
|
|
\end createBag
|
|
|
|
\procedure createBagButton(name)
|
|
<$button class="">
|
|
<$transclude $variable="createBag" name={{$:/state/NewBagName}}/>
|
|
{{$:/core/images/new-button}}
|
|
</$button><span class="tc-btn-text"><$text text="Create a new bag:"/></span><$edit-text tiddler="$:/state/NewBagName" tag="input"/>
|
|
\end createBagButton
|
|
|
|
\procedure createRecipe(name)
|
|
|
|
\procedure completion-createRecipe()
|
|
\import [subfilter{$:/core/config/GlobalImportFilter}]
|
|
<$action-log msg="In completion-createRecipe"/>
|
|
<$action-log/>
|
|
\end completion-createRecipe
|
|
|
|
<$action-sendmessage
|
|
$message="tm-http-request"
|
|
url=`/wiki/$(name)$/recipes/$(name)$`
|
|
method="PUT"
|
|
oncompletion=<<completion-createRecipe>>
|
|
/>
|
|
\end createRecipe
|
|
|
|
\procedure createRecipeButton(name)
|
|
<$button class="">
|
|
<$transclude $variable="createRecipe" name={{$:/state/NewRecipeName}}/>
|
|
{{$:/core/images/new-button}}
|
|
</$button><span class="tc-btn-text"><$text text="Create a new recipe:"/></span><$edit-text tiddler="$:/state/NewRecipeName" tag="input"/>
|
|
\end createRecipeButton
|
|
|
|
<!-- Expects currentTiddler to be the title of a bag entity state tiddler -->
|
|
\procedure bagPill(element-tag:"span",is-topmost:"no")
|
|
\whitespace trim
|
|
<$genesis $type=<<element-tag>> class={{{ mws-bag-pill [<is-topmost>match[yes]then[mws-bag-pill-topmost]] +[join[ ]] }}}>
|
|
<a class="mws-bag-pill-link" href=`/wiki/${ [{!!bag-name}encodeuricomponent[]] }$/bags/${ [{!!bag-name}encodeuricomponent[]] }$` rel="noopener noreferrer" target="_blank">
|
|
<$image
|
|
source=`/wiki/${ [{!!bag-name}encodeuricomponent[]] }$/bags/${ [{!!bag-name}encodeuricomponent[]] }$/tiddlers/%24%3A%2Ffavicon.ico`
|
|
class="mws-favicon-small"
|
|
>
|
|
<$image
|
|
source="$:/plugins/multiwikiserver/images/missing-favicon.png"
|
|
class="mws-favicon-small"
|
|
/>
|
|
</$image>
|
|
<span class="mws-bag-pill-label">
|
|
<$text text={{!!bag-name}}/>
|
|
</span>
|
|
</a>
|
|
</$genesis>
|
|
\end
|
|
|
|
<!-- Expects currentTiddler to be the title of a recipe entity state tiddler -->
|
|
\procedure wikiCard()
|
|
\whitespace trim
|
|
<a class="mws-wiki-card" href=`/wiki/${ [{!!recipe-name}encodeuricomponent[]] }$` rel="noopener noreferrer" target="_blank">
|
|
<div class="mws-wiki-card-image">
|
|
<$image
|
|
source=`/wiki/${ [{!!recipe-name}encodeuricomponent[]] }$/recipes/${ [{!!recipe-name}encodeuricomponent[]] }$/tiddlers/%24%3A%2Ffavicon.ico`
|
|
class="mws-favicon"
|
|
>
|
|
<$image
|
|
source="$:/plugins/multiwikiserver/images/missing-favicon.png"
|
|
class="mws-favicon"
|
|
/>
|
|
</$image>
|
|
</div>
|
|
<div class="mws-wiki-card-content">
|
|
<div class="mws-wiki-card-header">
|
|
<$text text={{!!recipe-name}}/>
|
|
</div>
|
|
<div class="mws-wiki-card-meta">
|
|
<%if [list<currentTiddler>] %>
|
|
<ol class="mws-horizontal-list">
|
|
<$list filter="[list<currentTiddler>]" counter="counter">
|
|
<$transclude $variable="bagPill" is-topmost={{{ [<counter-last>match[yes]] }}} element-tag="li"/>
|
|
</$list>
|
|
</ol>
|
|
<%else%>
|
|
(no bags defined)
|
|
<%endif%>
|
|
</div>
|
|
<div class="mws-wiki-card-description">
|
|
<$text text={{!!text}}/>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
\end
|
|
|
|
<div class="mws-admin-container">
|
|
<h1>Wikis</h1>
|
|
<p>
|
|
These are the wikis available on this server. Click on a wiki to visit it in a new browser tab.
|
|
</p>
|
|
<ul class="mws-vertical-list">
|
|
<$list filter="[prefix[$:/state/MultiWikiServer/recipes/]]">
|
|
<li>
|
|
<<wikiCard>>
|
|
</li>
|
|
</$list>
|
|
</ul>
|
|
<div>
|
|
<<createRecipeButton>>
|
|
</div>
|
|
<div>
|
|
Higher numbered bags take priority if a tiddler with the same title is in more than one bag
|
|
</div>
|
|
<h1>Bags</h1>
|
|
<ul class="mws-vertical-list">
|
|
<$list filter="[prefix[$:/state/MultiWikiServer/bags/]]">
|
|
<li>
|
|
<<bagPill>>
|
|
</li>
|
|
</$list>
|
|
</ul>
|
|
<div>
|
|
<<createBagButton>>
|
|
</div>
|
|
</div>
|