将tiddlyweb url映射到您自己的自定义url

tiddlywebplugins.urls的Python项目详细描述


tiddlywebplugins.url

此插件允许您:

  • 将自定义URL映射到默认的TiddlyWeb URL。
  • 将自定义URL映射到任何其他URL,用作URL缩写器

它对自定义url(http://lukearno.com/projects/selector/)使用选择器语法

配置

这个插件是一个“系统”和“twanager”插件。在命令行中键入twanager usage。您的tiddlywebconfig.py应该与此配置类似:

config = {
'system_plugins': ['tiddlywebwiki', 'tiddlywebplugins.urls' ],
'secret': 'XXXXXXXX',
'twanager_plugins': ['tiddlywebwiki', 'tiddlywebplugins.urls'],

# the tiddlywebwiki.friendlywiki function doesn't work with urls plugin,

# it needs to be disabled.
'tiddlywebwiki.friendlywiki': False,

#'url_bag':'__urls',
}

注意:默认情况下,所有url都存储在一个名为“url”的包中。

可以通过向tiddlywebconfig.py添加“url_bag”来更改此包的名称,但包中的所有tiddler必须是所述格式的“url tiddler”。如果这个包已经不存在,它将自动创建。

重写URL

要在/default处显示tiddlywiki,请创建一个tiddler,如:

title:
/default

text:
/recipes/default/tiddlers.wiki

此配置创建一个链接,例如:http://example.com/default,否则为:http://example.com/recipes/default/tiddlers.wiki,该链接仍然有效。请确保命名为“默认”的配方存在!

灵活版本

使用上述格式,您需要为每个配方创建一个tiddler。这不是很“用户友好”。因此,我们需要更灵活,使用“占位符”来定义关系。现在我们要映射每个配方名,用户可以输入例如:/wiki/anyRecipeName

title:
/wiki/{recipe_name:segment}

text:
/recipes/{{ recipe_name }}/tiddlers.wiki

url http://example.com/wiki/myWiki将加载http://example.com/recipes/myWiki/tiddlers.wiki

重定向URL

重定向到内部url

如果要重定向而不是重写到内部URL,可以添加标记“redirect”:

title:
/wiki/{user:segment}

tags:
redirect

text:
/recipes/{{ user }}/tiddlers.wiki

请注意,添加用户不会自动添加用户配方。所以如果你需要一个,你需要创造它。

重定向到exernal url

要创建到google.com的短链接,可以执行以下操作。不需要“重定向”标记:

title:
/google

text:
http://www.google.com

实验性

如果我们用包创建tiddlywiki,例如:/bags/{{ bag_name }}/tiddlers.wiki,它将作为tiddlywiki表示加载,但不能保存:

title:
/test/{bag_name:segment}

text:
/recipes/experiment/tiddlers.wiki

experiment配方需要看起来与此类似(在生产中,您需要访问权限!):

desc: some description text ...
policy: {"read": [], "create": [], "manage": [R:ADMIN], "write": [], "owner": null, "delete": []}

/bags/system/tiddlers
/bags/{{ bag_name }}/tiddlers

其中bag_name可以是任何变量名。

请注意,这不支持放入,您无法放入配方(除非您为bag_name提供默认值)。这个版本需要一个客户端插件来处理puts。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何加载。java文件到编译器?   java写入文件和I/O   java日历返回错误的当前日期安卓   if语句if变量等于1(java)   java很难让Joda有时间使用我的bukkit插件   json如何创建基于java的应用程序,该应用程序将从网站获取输入   java如何在多页中打印大型JPanel   java my spinner在添加从firebase数据库中选择的多个值时被覆盖   java用Play框架覆盖HTTP方法   试图获取所有用户时,java错误请求400。Dto和表格   java支持bean加载图像后javascript自动调用JS函数   java在MTOM的@StreamingAttachment(Metro)中,Parsely的意思是什么   具有可抢占线程队列的多线程java执行器   Java Opencv connectedComponentsWithStats   java如何向数组中添加2D数组的数目   eclipse为什么我的Java Zork克隆不能正确循环?   java在哪里放置定制的第二个web。xml   java如何更改最近应用列表中显示的快照?   java Browser#getText()返回空字符串