2

我正在启动一个 Stack Exchange 站点,我希望能够在 markdown 脚本获取它之前和之后截取问题文本。

我希望能够[custom-tag]stuff to be altered[/custom-tag]在问题窗口中输入,然后将要更改的内容删除(因为标准降价引擎将无法解释它)存储它,然后将输出中的标签替换为在我自己的(服务器端)引擎处理后要更改的东西。

我第一步失败了;我找不到markdown javascript。是不是隐藏在某个地方/content/js/master.js

编辑:我将尝试通过一个我想要实现的示例来使这一点更加清晰。

我正在运行一个面向扑克的 SE 网站。玩家讨论扑克牌,但不是输入一手牌中发生的事情的纯文本记录,而是使用转换器使其更具可读性。

所以,不要在论坛上发布这个:

PokerStars 游戏 #29112867044:奥马哈底池限注 ($100/$200) - 2009/06/07 19:51:27 ET
表 'Thomsen' 9-max 座位 #2 是按钮
座位 2: Mary & Joey(筹码 14729 美元)
座位 4:William(筹码 28306 美元)
Mary & Joey:小盲注 $100
威廉:大盲注$200
*** 洞牌 ***
玛丽和乔伊:筹集 400 美元至 600 美元
威廉:打电话给 400 美元
*** FLOP *** [6d Td 3c]
威廉:检查
玛丽和乔伊:支票
*** 转 *** [6d Td 3c] [Kc]
威廉:检查
玛丽和乔伊:支票
*** 河流 *** [6d Td 3c Kc] [7d]
威廉:下注 600 美元
玛丽和乔伊:折叠
未跟注 ($600) 返还给威廉
威廉从罐子里收集到 1198 美元
威廉:不露手
*** 概括 ***
总底池 $1200 | 抽 2 美元
板 [6d Td 3c Kc 7d]
座位 2:Mary & Joey(按钮)(小盲注)在河牌圈弃牌
座位 4:William(大盲注)筹到($1198)

他们将首先访问 3rd 方网站并将其转换为:

PokerStars 底池限注奥马哈,$200.00 大盲注(2 手)
小盲注($ 14729 )大盲
注 ($28306)翻前:小盲 注 $600,大盲注跟注 $400翻牌:($1200)6 , 10 , 3 (2 名玩家)大盲过牌,小盲注过 牌牌: ($1200) K (2位玩家) BB过牌 , SB过牌牌: ($1200) 7 (2位玩家) BB下注$600, 1折总底池: $1200 | 佣金: $2














我想删除用户必须访问 3rd 方网站的步骤,粘贴在他们手中,选择 HTML 输出,然后将结果复制并粘贴到问题中。相反,我希望他们能够用 [hand][/hand] 标签包装原始手测试,并且转换将自动处理。

编辑2:

在进一步调查中,这似乎是不可能的(没有很多 hacky JS)。需要首先解决 Ajax 跨域问题才能使用任何外部服务进行转换。

然后,如果您设法覆盖 WMD 预览 - 您仍然需要弄清楚当实际答案正常呈现时该怎么做。一种方法是让 JS 在呈现任何问题或答案时查找标签,并使用转换后的版本更新 DOM——这会从性能 POV 中吸收。

我想我将不得不等待,并希望 SE 允许我们以其他方式覆盖它。

4

1 回答 1

1

WMD 会在您键入时自动填充预览元素,对吗?好吧,它需要在某个地方有一个转换器来执行此操作。该转换器是摊牌(您可以在此处获得)。这是它的用法(从源文件中提取):

// Showdown usage:

var text = "Markdown *rocks*.";

var converter = new Showdown.converter();
var html = converter.makeHtml(text);

这意味着您不能简单地使用提供的预览元素,而是使用您自己填充的元素。此外,您需要自己在 textarea 上收听keypress事件并解析文本,然后调用 Showdown。当输出如您所愿时,将其放入您自己的预览元素中。

于 2009-10-15T20:29:27.890 回答