代码之家  ›  专栏  ›  技术社区  ›  maetl

我应该如何处理wiki页面内容中的自动链接?

  •  5
  • maetl  · 技术社区  · 18 年前

    我所说的自动链接是指将页面内容中的wiki链接生成为指向该页面的超链接(如果该页面确实存在)或创建链接(如果该页面不存在)的过程。

    对于我使用的解析器,这是一个两步的过程-首先,解析页面内容,并从源标记中提取到wiki页面的所有链接。然后,在生成最终的HTML标记之前,我将现有页面的数组反馈给解析器。

    6 回复  |  直到 18 年前
        1
  •  1
  •   Peter Stuifzand    18 年前

    在我自己的wiki中,我检查所有的链接(没有缓存),但是我的wiki只在内部被少数人使用。你应该做这样的基准测试。

        2
  •  1
  •   Ross    17 年前

    在页面更新期间标记为“未创建”的页面将插入到保存该页面的数据库的a表中,然后插入链接到该页面的页面的csv。

    如果您对突出显示未创建的页面不感兴趣,那么您可以在尝试访问该页面时使用检查器查看该页面是否已创建,如果没有,则重定向到创建页面。然后像其他文章一样链接到页面。

        3
  •  1
  •   Magnus Smith    17 年前

    有一件事给了我麻烦,那就是决定在一个多词短语上使用什么链接。假设你有一些文字说“我正在使用堆栈溢出”,你的wiki有3个页面叫做“堆栈”、“溢出”和“堆栈溢出”…你的短语的哪一部分链接到哪里?会发生的!

        4
  •  0
  •   palotasb    17 年前

    我的想法是像这样查询标题 SELECT title FROM articles 只需检查每个wikilink是否在该字符串数组中。如果是链接到页面,如果不是,则链接到创建页面。

        5
  •  0
  •   Eduardo León    17 年前

    在我和西纳特拉的一个私人项目里( link text

    这不是最好的,但我没有建立这个应用程序与缓存/速度的想法。这是一个低资源的简单wiki。

    如果速度更重要,你可以用一些东西来包装应用程序来缓存它。例如,sinatra可以用机架缓存进行包装。

        6
  •  0
  •   Fumisky Wells    14 年前

    根据我的经验 Juli ,这是一个带有自动链接的脱机个人wiki,生成静态HTML方法可能会解决您的问题。