Markdown的替代颜色支持

时间:2018-11-20 19:31:26

标签: java android markdown markup

我正在写一个Note App(使用PHP / Slim 3构建的Android和REST API)。我想知道Markdown之外是否还有其他东西可以将注释保存为可读和可互换的格式。 Markdown对我来说的问题是样式文本(例如彩色文本)没有解决方案。用自定义属性扩展Markdown也很困难。

我已经在考虑创建自己的数据格式(或使用XML)。但是,这需要大量工作来解析它。我喜欢使用标准格式在客户端/服务器之间以及其他应用程序之间进行互换的想法。但是Markdown的功能集非常有限(可以肯定是设计使然)。

您对此主题有任何提示吗?

2 个答案:

答案 0 :(得分:0)

这个问题过于笼统,即可能导致对技术的争论,而不是“这就是解决方案”的情况。

话虽如此,我认为这是一个没有争议的答案:当您说

  

“可读,可互换的格式...样式文本的解决方案...自定义属性”

我认为是HTML。我不建议您尝试使用自己的格式,因为1.)您很正确,这很困难,并且2.)匹配现有解决方案的功能集会更加困难

答案 1 :(得分:0)

总结:我喜欢使用HTML而不是Markdown的想法。它是一种开放的标准格式,可以互换并且易于阅读。 我在所有这些解决方案中都遇到了以下问题:如何牢记这一点来编写所见即所得编辑器?我已经在使用Markwon库使用Markdown:https://github.com/noties/Markwon

在Android EditText小部件中编写Markdown并呈现它没有问题。您可以轻松地将其转换回纯文本(可以保存)。获得所见即所得的体验要复杂得多。您必须处理每个用户输入,写第二个包含标记的文件或字符串,而用户只能看到渲染的结果。用户可以在EditText中的任何地方编辑/删除任何内容,并且您必须注意这些更改也会影响Markdown字符串/文件。我没有找到一个简单的解决方案。

最简单的方法是以某种方式将EditText的内容解析回Markdown。但是EditText小部件没有getSpannables方法或类似方法。我正在考虑遍历EditText,看看那里有什么字符以及它的格式。但是我认为这也会有缺点,因为还有其他项目,例如项目符号列表和复选框。