• 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
太微中文论坛icon

太微中文论坛

太记本地化实现包含维基

已定时 已固定 已锁定 已移动 讨论
10 帖子 2 发布者 148 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #1

    2efa7294-992a-4fdf-a176-fb1fca2f9b0a-image.png

    翻xp教程的文档时发现还有这样一个内容,也就是可以包含维基。感觉像是MWS插件的简化版。太记感觉应该可以本地化操作。但一时想不到要用来做什么。

    1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #2
    {
      "description": "Basic client-server edition",
      "plugins": [],
      "themes": [],
      "languages": [],
      "includeWikis": [
        {
          "path": "../Self-Organ",
          "read-only": true
        },
        {
          "path": "../Listless",
          "read-only": true
        }
      ],
      "build": {
        "index": [
          "--rendertiddler",
          "$:/core/save/all",
          "index.html",
          "text/plain"
        ],
        "externalimages": [
          "--setfield",
          "[is[binary]] [type[application/msword]]",
          "_canonical_uri",
          "$:/core/templates/canonical-uri-external-image",
          "text/plain",
          "--setfield",
          "[is[binary]] [type[application/msword]]",
          "text",
          "",
          "text/plain",
          "--rendertiddler",
          "$:/core/save/all-external-js",
          "index.html",
          "text/plain"
        ],
        "readonlyexternalimages": [
          "--setfield",
          "[is[binary]] [type[application/msword]]",
          "_canonical_uri",
          "$:/core/templates/canonical-uri-external-image",
          "text/plain",
          "--setfield",
          "[is[binary]] [type[application/msword]] [type[application/pdf]] [[$:/plugins/tiddlywiki/filesystem]] [[$:/plugins/tiddlywiki/tiddlyweb]] [[$:/plugins/twcloud/tiddlyweb-sse]] [[$:/plugins/linonetwo/source-control-management]] [[$:/plugins/linonetwo/super-tag]] [[$:/plugins/linonetwo/flow-chart]] [[$:/plugins/linonetwo/slate-write]] [[$:/plugins/linonetwo/smart-field]] [[$:/plugins/linonetwo/markdown-transformer]] [[$:/plugins/gt6796c/mermaid-tw5]] [[$:/plugins/linonetwo/tw-mobile-sync]] [[$:/plugins/linonetwo/zx-script]] [[$:/plugins/tiddlywiki/highlight]] [prefix[$:/plugins/tiddlywiki/codemirror]] [[$:/plugins/Gk0Wk/TW5-CodeMirror-Enhanced]] [[$:/plugins/flibbles/relink]] [[$:/plugins/kookma/commander]] [[$:/plugins/kookma/section]] [[$:/plugins/linonetwo/calendar]] [[$:/plugins/linonetwo/pinyin-fuzzy-search]]",
          "text",
          "",
          "text/plain",
          "--rendertiddler",
          "$:/core/save/all-external-js",
          "index.html",
          "text/plain"
        ],
        "externaljs": [
          "--rendertiddler",
          "$:/core/templates/tiddlywiki5.js",
          "tiddlywiki5.js",
          "text/plain"
        ]
      },
      "config": {
        "retain-original-tiddler-path": true
      }
    }
    

    Great!!!

    我想到了用途,就是可以一个wiki只存放自定义配置,而其他wiki则存放通常意义上交互产生的数据。

    这里唯一要说明的是,includeWikis参数必须放在build参数前面,不然就启动不了,会报错。

    1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #3

    但要不要这样转换呢?好处肯定是可以只维护一个自定义仓库,且所有的笔记仓库都可以只使用这一套模板就可以了。那坏处是什么呢?好像没有坏处,顶多就是启动时卡一下。而且如果需要与自定义仓库模板内容不一致的,也完全可以修改,会在本仓库单独生成一个条目。

    那大文件或者大量文件加载会不会加速呢?

    哦,有一个缺点不支持筛选器。换言之,要么导入一整个wiki的内容,要么不导入,不支持筛选导入。这个也好理解。

    1 条回复 最后回复
    0
  • oeyoewsO 离线
    oeyoewsO 离线
    oeyoews
    写于 最后由 编辑
    #4

    我的那个仓库就用到了这个概念,建议自己多测试,有一些坑

    机杼机 1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    在 中回复了 oeyoews 最后由 编辑
    #5

    @oeyoews

    是这个Relative Path with Filesystem and Tiddlywiki.info吗?

    我目前测试了,我没有动$:/config/FileSystemPaths配置,就只是添加上面includeWikis。并且设置为只读,这样修改之后的条目就不会受影响。

    1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #6

    根据测试在TiddlyWiki-App上一样可以使用。但TiddlyWiki-xp版本与tiddlywiki-starter-kit存在不兼容的情况,应该是tiddlywiki-starter-kit做了一些设置。具体来说我使用下面的创建新条目按钮,出现了报错。可能是因为tiddlywiki-starter-kit默认是新建markdown文件导致的。

    708edeb4-2fde-4ee9-aef5-5d6c225ef3bc-image.png

    1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #7

    简单总结一下,可以使用includeWiki来进行导入外部维基。且推荐设置为只读模式,如果只读模式为FALSE,当前wiki可以直接修改或删除外部维基的条目,且不会有任何提示,这是很可怕的。

    导入外部维基只能全部导入所有条目,不支持筛选器排除或者有选择地导入。

    当前维基与外部维基和插件条目存在一个优先级问题。

    以$:/SiteTitle为例,当前维基中存在该条目时,会显示当前维基的值。如果没有则会去查找导入维基是否有该条目,如果有则显示导入维基的值。如果有两个及以上的外部维基时,则取最后一个外部维基的值。当这个条目被删除时,则显示为插件条目的值。

    换言之,存在多个同名的条目,首先肯定是展示当前维基的。如果没有才是外部维基的,且只会有一个。并不是说删除了一个还可以显示上一个外部维基的。

    在只读模式下,如果编辑外部维基的条目,会立即在当前维基创建一个条目。同样在只读模式下,如果新建一个条目,条目名中与外部维基已有的条目冲突,那么也会显示出来。如下图。

    e92dad17-bcb0-4682-86e7-a76ecb022458-image.png

    包含维基的用法

    在太记和TiddlyWiki-App中都支持包含维基,一般的node.js启动TiddlyWiki也是支持的。

    通过包含维基,我们可以新建一个自已日常使用的模板wiki,然后在里面维护样式,自己写的宏,插件版本和修改了的插件条目。然后其他wiki就只需要导入这个wiki就可以了。实现一个wiki,全体共用。

    当其他wiki需要有新功能时,这个时候就需要有一个测试wiki,里面有测试相关的条目。当测试通过时,则把相应的文件放到模板wiki中。然后把测试wiki的条目删除或者用代码块封装起来。当然不管也可以,影响不大。

    包含维基更新了,其他维基要使用更新后的内容,需要重启维基。注意是重启维基而不是刷新,刷新没有效果,背后需要重新执行node.js命令。类似于下面的效果。

    ca909942-917d-4a94-a5c0-49b8df90b4fa-image.png

    理论上测试,要发布到github上的博客维基也是可以这样处理的。但具体还是等后面再补充吧。

    另一个是,我猜测这种方式有助于改进性能。但具体未知。也许还是只有等MWS插件发布后才能真正改进吧,毕竟那个时候是用SQL数据库了。

    理论上也可以实现文件管理,但我没有测试,因为我很少把文件放到TiddlyWiki里。

    1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #8

    最后还是有些感慨的,其实2023年3月份的时候就知道这个东西了,当时还制作了一个B站视频,但那里只是用nodejs测试了一下,并没有真正想到可以在太记上使用。其实我的笔记中也写了,可以在太记中本地化使用。但其实不是本地化使用,而是所有数据都可以同步到github上,完全没问题的。

    换言之,当时我离真正在太记中使用的想法只有一步,可那一步没有踏出去。如果不是今天偶然翻笔记库,翻到了这一条笔记,再尝试了一下且成功后,不然是怎么也不会再往前走一步了,那个时候就真的需要等MWS插件才来解决这个问题了。

    最大的感慨还是TiddlyWiki超出想象,但因为没有足够多的人讨论,不然应该很早就开发出这种用法了。还是希望TiddlyWiki的圈子越大越好。

    1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #9

    现在的一个问题是,如何区分那些条目是来自includeWikis,那些是自己本仓库的。论坛上好像没有解决方案。

    1 条回复 最后回复
    0
  • 机杼机 离线
    机杼机 离线
    机杼
    写于 最后由 编辑
    #10

    最好的解决办法是提供一个接口,可以直接判断出某一个条目来自于哪一个外部维基。但目前没有这个功能,估计只能等MWS插件来实现了。

    因而目前的解决办法是对外部维基设置一个根条目,然后通过模板化语法去标记。如下面图片中,会对以Forge为根条目下的所有条目有一个标记,表示来自Forge。同时点开编辑时也会有一个提示。如果后期要公开成仓库的话,就需要设置一下里面的链接。目前没有这个打算就不管了。

    b406afa1-2e54-4bd3-9176-6202ad3155c2-image.png

    b0d8ad82-b23c-41cd-8233-7a37d6c6047b-image.png

    52ef4582-ac98-4100-8021-a7e96a4e65d4-image.png

    这里其实还有一个问题,TiddlyWiki有一个更好的机制,可以使用类似级联的操作方式给条目设置背景颜色。然后我发现虽然设置了,但css的优先级不是最高的,被其他条目覆盖了。而且这方面的示例又比较少,就没用。感觉还是应该再调整一下css。

    $:/tags/ClassFilters/TiddlerTemplate

    1 条回复 最后回复
    0

  • 登录

  • 没有帐号? 注册

Powered by NodeBB Contributors
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
  • 登录

  • 没有帐号? 注册