Markdown越来越玩的纯熟,在小程序架构稳定之后,剩下的就是Markdown内容的编辑,我已经不满足于基础的标题和段落,我还会根据适当的场景使用。我必须把常用的Markdown介绍一下,感觉其设计真是奇妙,比如在一行中用三个以上的星号、减号、底线来建立一个分割线,行内不能有其它东西。也可以在星号或减号中间插入空格。这样就是一条分割线。当你完全掌握之后,就会发现我们还可以进行扩展,比如我后面的跳转公众号文章,跳转小程序。
我们先来快速浏览一下除了标题和段落之外不常用但重要的Markdown语法。不感兴趣可以跳过。
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
# 分割线
***
* * *
*****
- - -
---------
~~删除线~~
<u>下划线文本</u>
[^脚注,要注明的文本]
# 无序列表
* 第一项
+ 第二项
- 第三项
# 有序列表
1. 第一项
2. 第二项
3. 第三项
# 列表嵌套需要在子列表中的选项签名添加两个或四个空格即可。
1. 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
2. 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
# 区块
> 最外层
> > 第一层嵌套
> > > 第二层嵌套
# 列表中使用区块,如果列表中要使用区块,请在>前添加四个空格即可。
* 第一项
> 菜鸟教程
> 学的不仅是技术更是梦想
* 第二项
# 链接
[链接名称](链接地址)
<链接地址>
# 图片显示




# 只设置宽,会按比例进行缩放

# 使用 html <img>标签。
<img src="https://xxx.com/x.png" width="50%">
# 制作表格使用|来分割不同的单元格,可以使用-来分割表头和其它行。
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
# 设置表格的对齐方式使用如下符号:
-: 设置内容和标题栏居右对齐。
:- 设置内容和标题栏居左对齐。
:-: 设置内容和标题栏居中对齐。
# Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:
**文本加粗**
\*\* 正常显示星号 \*\*
使用 KaTex 或 MathJax 来渲染数学表达式。
Mardown语法扩展
当然我还扩展了一些内容,比如链接,我在小程序中支持跳转到公众号文章,以及跳转到小程序。具体的实现就是通过前缀。
我们先来看链接,我们在链接地址做文章,比如下面的语法
[链接名称](链接地址)
// https://mp.weixin.qq.com/s
// path://pages/index/index?id=123(跳转当前小程序页面)
// mini://appid/path?query=123(跳转其他小程序)
当解析出链接之后后,我们需要解析链接,看看它属于普通链接还是公众号链接,属于跳转到小程序页面还是跳转到其它小程序。这也许是我的一个创新吧。
UI扩展
前面我介绍的,首页是一个列表,不论列表的样式如何变化,它终究还是列表。
网格首页:当我改造为游戏模式的关卡时,首页不再是文章列表,而是一张 “知识探索地图”——一个九宫格式的关卡网格。每个格子是一个关卡,清晰标有挑战标题和用户的通关状态(锁形/对勾)。下一页不再是向下一直滑动,而是使用了左右箭头表示的翻页按钮。当然,点击跳转关卡之后,详情页面还是不变的,展示了关卡的介绍,游戏的攻略或者参考答案。
时间轴首页:当我改造为时间轴模式的作品集时,首页不再是文章列表,而是一个时光回忆录。一个有时间标记的作品列表。每个时间节点就是一个作品,滑动某个作品时,它会放大,清晰展示作品介绍。下一页还是上下滑动,但是一个页面就突出显示一个作品。当然,单击作品之后,详情页面还是不变的,展示了作品的详细说明,渊源历史,作品演示画面。
模块首页:当我改造为列表模式的功能模块时,首页不再是文章列表,而是一个卡片连着一个卡片,每个卡片介绍了功能模块的标题,介绍,浏览量,下载量。下一页还是上下滑动,直到滑完所有功能模块。当点击某个模块卡片时,它会跳转到详情页面,详情页面优化了一下,不再是纯粹的功能模块详细说明,而是在后端通过JSON组合,返回了功能模块元数据和详细说明。功能模块元数据通过WXML原生展示,但是模块详细说明还是使用Markdown进行展示。
这些都是豆子碎片小程序这几年内容的变迁,通过这些实际案例介绍,我们可以发现这个Markdown模式可以适应多种内容,多种场景。横着或者竖着变化一下,会给你眼前焕然一新。当然,它的底层还是不变的,还是基于Markdown来展示内容。
扫码体验: