欢迎使用 MWeb

MWeb 是专业的 Markdown 写作、记笔记、静态博客生成软件,目前已支持 Mac,iPad 和 iPhone。MWeb 有以下特色:

软件本身:

  • 使用原生的 macOS 技术打造,追求与系统的完美结合。
  • 原则上,首先是追求界面简洁和高性能,然后才是强大易用,功能全面。

Markdown 语法:

  • 使用 GitHub Flavored Markdown 语法,简称 GFM 语法。
  • 支持表格、TOC、LaTeX、代码块、任务列表、脚注等。
  • 画图库支持 mermaid, viz, ECharts, PlantUML, Sequence, Flow。

Markdown 辅助:

  • 支持截图并粘贴、复制并粘贴、拖拽等方式插入图片并直接显示在编辑器内。
  • 在兼容 Markdown 语法的情况下支持设置图片宽度。
  • 好用的表格插入和 LaTeX 书写辅助。

Markdown 输出:

  • 支持导出为图片、HTML、Epub、PDF、RTF、Docx。
  • 支持发布到 WordPress、支持 Metaweblog API 协议的服务、Wordpress.com、印象笔记(Evernote)、Blogger、Medium、Tumblr、语雀、Ghost、少数派 Matrix。
  • 图片上传服务(图床)支持 Imgur、七牛云、又拍云、腾讯云 COS、阿里云 OSS、SM.MS和自定义的图床服务。

Markdown 笔记:

  • 强大的文档库支持分类树和标签管理文档,文档可归类于多个分类,可以把分类整个导出为 Epub、PDF 和生成静态网站。非常合适用于笔记、个人知识收集、管理和输出。
  • 快速笔记:随意增加笔记及图片等素材,支持以天为单位把增加的素材组合在一个文档内,方便整理及记录历史收集情况。
  • 快速搜索:目前已支持全局快捷键调出搜索。

外部 Markdown 文档:

  • 外部 Markdown 文档使用外部模式管理。外部模式使用目录树的方式编辑和管理你的 Markdown 文档,还能很好的支持 GitBook、Jekyll、Hexo 等等编辑和图片插入。

MWeb 文档:

如果要更详细了解 MWeb,建议你一定要去看一下官网的帮助文档,网址为:https://zh.mweb.im/help.html。我们建议在使用文档库之前,一定要阅读一下 MWeb 文档库详细介绍 这篇文章,以便更好的使用文档库。

帮助我们改进 MWeb

如果你喜欢 MWeb,想让它变得更好,你可以:

  1. 推荐 MWeb,让更多的人知道。
  2. 给我们发反馈和建议:coderforart+2333@gmail.com
  3. 在 Mac App Store 上评价 (如果是在 MAS 上购买的话)。

GFM 语法简介和 MWeb 所支持的扩展语法

回车转为换行

官方的语法规定结尾加 2 个以上空格加换行才会转成换行,也就是 <br /> 标签。MWeb 中有个选项可以直接把换行转成 <br />,不用加上 2 个以上空格,这个选项默认是开启的。如果要关闭,请在设置页面关闭。

任务列表(Task lists)

Markdown 语法:

- [ ] 任务一 未做任务 `- + 空格 + [ ]`
- [x] 任务二 已做任务 `- + 空格 + [x]`

效果如下:

  • [ ] 任务一 未做任务 - + 空格 + [ ]
  • [x] 任务二 已做任务 - + 空格 + [x]

图片大小及对齐

官方和 GFM 都不支持图片大小设置,MWeb 引入的特别的语法来设置图片宽度。如:![图片说明-w450](pic.jpg) 这样表示设置图片宽度为 450。其中 -w450 为设置语法,生成 HTML 时会自动移除。w 表示设置宽度。 可以看出,MWeb 引入的语法的特点是兼容原来的语法和仅支持设置宽度。

多行或者一段代码

Markdown 语法:

```js
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
} }
```

效果如下:

function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
} }

这个语法目前在 MWeb 中使用,必须前后空一行,才会正确解析。我觉得,在写 Markdown 文档过程中,运用空行很有必要,基本上,块级元素(标题、列表、引用、代码块、表格、段落等),都建议前后空一行。

表格

Markdown 语法:

第一格表头 | 第二格表头
--------- | -------------
内容单元格 第一列第一格 | 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 | 内容单元格第二列第二格

效果如下:

第一格表头 第二格表头
内容单元格 第一列第一格 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 内容单元格第二列第二格

删除线

Markdown 语法:

加删除线像这样用: ~~删除这些~~

效果如下:

加删除线像这样用: 删除这些

LaTeX

Markdown 语法:

块级公式:
```math
x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}
``` 行内公式: ``\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N``

效果如下(在设置页面中启用 LaTeX 才会看到效果):

块级公式:

x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}

行内公式: \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N

注意:为了兼容 MWeb 3,也支持 $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$

和块级语法

$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

但是建议用新的语法。

MWeb 画图

mermaid

mermaid 是比较流行的画图库,它支持流程图、顺序图和甘特图,它的官网为:https://mermaidjs.github.io/ ,在 MWeb 中使用 mermaid 的语法就是声明代码块的语言为 mermaid,代码块中再写上 mermaid 的画图语法即可,你可以把下面的语法复制到 MWeb 中查看效果。

```mermaid
sequenceDiagram
participant Alice
participant Bob
Alice->John: Hello John, how are you?
loop Healthcheck
John->John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail...
John-->Alice: Great!
John->Bob: How about you?
Bob-->John: Jolly good!
```

效果如下:

sequenceDiagram
participant Alice
participant Bob
Alice->John: Hello John, how are you?
loop Healthcheck
John->John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail...
John-->Alice: Great!
John->Bob: How about you?
Bob-->John: Jolly good!

echarts

echarts 是百度出品的 js 画图库,它的网址为:https://echarts.apache.org/zh/index.html,功能非常强大,MWeb 支持 echarts 的一些基本的用法,太高级的不支持。你可以将以下语法复制到 MWeb 中进行尝试。你也可以去 https://echarts.apache.org/examples/zh/index.html 这个网址查看一些例子,要注意的是 MWeb 只能解析 option = {} 这种简单的,不过应该是足够使用了。

```echarts
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [820, 932, 901, 934, 1290, 1330, 1320],
type: 'line'
}]
};
```

效果如下:

option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [820, 932, 901, 934, 1290, 1330, 1320],
type: 'line'
}]
};

脚注(Footnote)

Markdown 语法:

这是一个脚注:[^1]

效果如下:

这是一个脚注:[1]

注释和阅读更多

阅读更多的功能只用在文档库生成静态网站或发布到 Wordpress 博客时,插入时注意要后空一行。


  1. 这里是脚注信息

aha的更多相关文章

  1. (转载)The One Sign You Will Be Rich-(by Brian de Haaff Founder and CEO Aha! -- world's #1 product roadmap software)

    When I was studying Philosophy at Berkeley, a friend told me that she could tell who was going to be ...

  2. [原创]AHA大会回顾

    AHA大会回顾 缘起 AHA之前参加了Daniel的培训,了解到AHA大会,觉得很高大上,开始有些心动.考虑到是工作时间,而且是外地,所以也就停留在心动层面了.之后与伯薇和四正吃饭,听说他们要去参加这 ...

  3. AHA高级心血管生命支持ACLS课前自我评估测试

    AHA高级心血管生命支持ACLS课前自我评估测试 答题人:a   成绩单 您的得分:17.5 分 答对题数:7 题 您的名次:47 名 问卷满分:100 分 测试题数:40 题 参与人次:47 人   ...

  4. 《编程珠玑》第二章 aha算法

    A题:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数. 1.在文件中至少存在这样一个数? 2.如果有足够的内存,如何处理? 3.如果内存不足,仅可以用文件来进行 ...

  5. 深度搜索优先(全排列)//本内容来自《啊哈!算法》或者英文名《Aha!Algorithms》)

      package Mypackage; import java.util.Scanner; public class 全排列{ static int a[]=new int[10]; static ...

  6. 文本数据挖掘 Matrix67: The Aha Moments

    转自:http://www.matrix67.com/blog/archives/5044 互联网时代的社会语言学:基于SNS的文本数据挖掘 今年上半年,我在人人网实习了一段时间,期间得到了很多宝贵的 ...

  7. 白板编程浅谈——Why, What, How

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://lucida.me/blog/whiteboard-coding-demystified/ 这篇文章节选 ...

  8. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  9. Happy New Year 2016

    大学之前的时间都是按天来过的,期盼着一天一天地快快长大,期盼着过年穿新衣,阖家团聚,其乐融融: 大学的时间都是按周来过的,根据每周的课表周而复始,虽然单调但也是自由自在,简单充实: 刚工作的几年时间是 ...

随机推荐

  1. AOP实现方式一

    1.创建相应的类 2.代码 service沿用前面的 增加两个log Log.java package com.shao.log; import org.springframework.aop.Met ...

  2. 【JavaSE】泛型

    Java泛型 2019-07-05  22:00:24  by冲冲 1. 泛型的引例 1 List list = new ArrayList(); 2 list.add(1022); //向集合中添加 ...

  3. Kafka连接器建立数据管道

    1.概述 最近,有同学留言咨询Kafka连接器的相关内容,今天笔者给大家分享一下Kafka连接器建立数据管道的相关内容. 2.内容 Kafka连接器是一种用于Kafka系统和其他系统之间进行功能扩展. ...

  4. 【CTSC1999】【带权并查集 】月亮之眼

    Description 吉儿是一家古董店的老板娘,由于她经营有道,小店开得红红火火.昨天,吉儿无意之中得到了散落民间几百年的珍宝-月亮之眼.吉儿深知"月亮之眼"价值连城:它是由许多 ...

  5. 【2020五校联考NOIP #8】自闭

    题目传送门 题意: 有一个 \(n \times m\) 的矩阵,里面已经填好了 \(k\) 个非负整数. 问是否能在其它 \(n \times m-k\) 个格子里各填上一个非负整数,使得得到的矩阵 ...

  6. 洛谷 P5206 - [WC2019]数树(集合反演+NTT)

    洛谷题面传送门 神仙多项式+组合数学题,不过还是被我自己想出来了( 首先对于两棵树 \(E_1,E_2\) 而言,为它们填上 \(1\sim y\) 使其合法的方案数显然是 \(y\) 的 \(E_1 ...

  7. Oracle-like 多条件过滤以及and or用法

    1.select * from  file  where DOC_SUBJECT  not like '%测试%' and (DOC_STATUS like '待审' or DOC_STATUS li ...

  8. Linux三剑客之老三grep

    说明: Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.工作中我们常常用它来过滤出我们想要的数据. 格式: grep [OPTIONS] 基本参 ...

  9. vector去重--unique

    具体实现见中间源码 function template <algorithm> std::unique equality (1) template <class ForwardIte ...

  10. 详解getchar()函数与缓冲区

    1.首先,我们看一下这段代码: 它的简单意思就是从键盘读入一个字符,然后输出到屏幕.理所当然,我们输入1,输出就是1,输入2,输出就是2. 那么我们如果输出的是12呢? 它的输出是1. 这里我们先简单 ...