简书编写文章时怎么使用空格和表格

html-css09

简书编写文章时怎么使用空格和表格,第1张

那么我们要如何实现表格呢?注意格式。。。

我们在编辑界面这样写:

示例1:

如示例1那样我们就创建了表格,在中通过短横线( - )和竖线( | )相结合来实现表格的。

在示例1中,表格内的内容都是局左对齐的。在具体的制作表格时,我们有时会有其他的需求,那么我们该如何实现呢?看下面例子:

示例2:

那么预览效果又是什么样的呢?请看下面:

默认样式居右样式居左样式居中样式

默认 居右对齐居左对齐居中对齐

仔细观察示例2和示例1的区别,我们会发现在横线两端出现了冒号( : ),冒号居于横线的位置不同,那么内容的样式也不一样。

无冒号:内容居左对齐(默认)

冒号居左:内容居左对齐

冒号居右:内容居右对齐

冒号在两端:内容居中对齐

当我们在表格的内容中使用竖线时,就会让编辑器无法分辨你的意图,例如下面这种情况:

示例3:

序号 内容

1 内 容

如示例3所示,在内容中出现了竖线,那么编辑器就会认为这是列的划分线,于是就会多出一列来,明显这不是我们要的效果,那么该如何解决呢?

解决办法:

1、用html转义字符代替,"|"的转义字符是:"|;",|后面的分号需要是英文状态下的分号。

2、第二种方法是使用反斜杠( \ )

序号 内容

1 内|容

使用转义字符后就是上面的效果了。

在简书里写文章时,有个预览模式,左边用markdown语法写,右边能实时预览到最终效果,今天看到一个实现类似功能的demo,所以准备写下来留个笔记

利用文件监视实现自动将markdown文件转换为html文档

实现思路:

利用 fs模块的文件监视功能fs.watch(filename,listener)监视指定markdown文件. (可以理解为发布订阅模式,每当文件发生变化,发布消息,订阅者收到消息)

当文件发生变化后,借助 marked包提供的markdown to html 功能将改变后的md文件转换为html格式。

将得到的html以及读入的css文件替换到模板,得到最终要渲染的html.

最后利用BrowserSync模块实现浏览器自动刷新,即每当改变markdown文件,浏览器中会自动刷新显示

代码不多:

const fs = require('fs')

const path = require('path')

const marked = require('marked')

const browserSync = require('browser-sync')//接收需要转换的文件路径

const target = path.join(__dirname, process.argv[2] || 'README.md')//最终生成的html文件的位置

const filename = target.replace(path.extname(target), '.html')//获取html文件名

const indexpath = path.basename(filename)//通过browser-sync创建一个文件服务器

browserSync({

    notify: false,

    server: path.dirname(target),//网站根目录

    index: indexpath//默认文档

})//监视文件变化,可以理解为当文件发生变化(需要保存才能触发文件变化),interval时间间隔后调用回调函数

fs.watchFile(target, { interval: 200 }, (cur, prev) => {

    // console.log(`current:${cur.size} previous:${prev.size}`)

    //判断文件的最后修改时间是否改变,减少不必要的转换

    if (cur.mtime === prev.mtime) {

        return false

    }

    fs.readFile(target, 'utf8', (err, content) => {

        if (err) {

            throw err

        }

        let html = marked(content)

        // console.log(html)

        fs.readFile(path.join(__dirname, 'github.css'), 'utf8', (err, css) => {

            html = template.replace('{{{content}}}', html).replace('{{{styles}}}', css)

            // console.log(html)

            fs.writeFile(filename, html, (err) => {

                if (err) {

                    throw err

                }

                browserSync.reload(indexpath)

                console.log('updated@' + new Date())

            })

        })

    })

})

const template = `<!DOCTYPE html><html lang="en"><head>

    <meta charset="UTF-8">

    <title>Markdown to Html</title>

    <style>{{{styles}}}</style></head><body>

    <div class='vs'>

    {{{content}}}

    </div>

</body>

</html>`

运行后每当改变markdown文件(ctrl+s),页面会自动刷新,和简书的预览效果基本差不多。

源码:https://github.com/Hfimy/markdownTohtml

参考:http://www.jianshu.com/p/f697a5471cc3

Markdown是一种编辑写法,github上就是用的Markdown语法,简书好像也是。

html也属于一种语法,Markdown你只要记住规则就行跟HTML应该是相同的原理,

http://www.jianshu.com/p/1e402922ee32/这篇文章是介绍的规则