跳转至内容
  • 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
皮肤
  • 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

太微中文论坛

  1. 首页信息流
  2. 版块
  3. 讨论
  4. 太记本地化实现包含维基

太记本地化实现包含维基

已定时 已固定 已锁定 已移动 讨论
10 帖子 2 发布者 53 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 机杼机 离线
    机杼机 离线
    机杼
    编写 最后由 编辑
    #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
                      • 最新
                      • 版块
                      • 标签
                      • 热门
                      • 用户
                      • 群组
                      • 太微中文教程
                      • 新插件投票看板