就是简单的转发一下,存一下。
鲁镇的酒店的格局,是和别处不同的:都是当街一个尺形的大柜台,柜里面预备着热水,可以随时温酒。做工的人,傍午傍晚散了工,每每花四文铜钱,买一碗酒,——这是二十多年前的事,现在每碗要涨到十文,——靠柜外站着,热热的喝了休息;倘肯多花一文,便可以买一碟盐煮笋,或者茴香豆,做下酒物了,如果出到十几文,那就能买一样荤菜,但这些顾客,多是短衣帮,大抵没有这样阔绰。只有穿长衫的,才踱进店面隔壁的房子里,要酒要菜,慢慢地坐喝。
我从十二岁起,便在镇口的咸亨酒店里当伙计,掌柜说,样子太傻,怕侍候不了长衫主顾,就在外面做点事罢。外面的短衣主顾,虽然容易说话,但唠唠叨叨缠夹不清的也很不少。他们往往要亲眼看着黄酒从坛子里舀出,看过壶子底里有水没有,又亲看将壶子放在热水里,然后放心:在这严重监督之下,羼水也很为难。所以过了几天,掌柜又说我干不了这事。幸亏荐头的情面大,辞退不得,便改为专管温酒的一种无聊职务了。
我从此便整天的站在柜台里,专管我的职务。虽然没有什么失职,但总觉有些单调,有些无聊。掌柜是一副凶脸孔,主顾也没有好声气,教人活泼不得;只有孔乙己到店,才可以笑几声,所以至今还记得。
孔乙己是站着喝酒而穿长衫的唯一的人。他身材很高大;青白脸色,绉纹间时常夹些伤痕;一部乱蓬蓬的花白的胡子。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。他对人说话,总是满口之乎者也,教人半懂不懂的。因为他姓孔,别人便从描红纸上的“上大人孔乙己”这半懂不懂的话里,替他取下一个绰号,叫作孔乙己。孔乙己一到店,所有喝酒的人便都看着他笑,有的叫道,“孔乙己,你脸上又添上新伤疤了!”他不回答,对柜里说,“温两碗酒,要一碟茴香豆。”便排出九文大钱。他们又故意的高声嚷道,“你一定又偷了人家的东西了!”孔乙己睁大眼睛说,“你怎么这样凭空污人清白……”“什么清白?我前天亲眼见你偷了何家的书,吊着打。”孔乙己便涨红了脸,额上的青筋条条绽出,争辩道,“窃书不能算偷……窃书!……读书人的事,能算偷么?”接连便是难懂的话,什么“君子固穷”,什么“者乎”之类,引得众人都哄笑起来:店内外充满了快活的空气。
听人家背地里谈论,孔乙己原来也读过书,但终于没有进学,又不会营生;于是愈过愈穷,弄到将要讨饭了。幸而写得一笔好字,便替人家钞钞书,换一碗饭吃。可惜他又有一样坏脾气,便是好喝懒做。坐不到几天,便连人和书籍纸张笔砚,一齐失踪。如是几次,叫他钞书的人也没有了。孔乙己没有法,便免不了偶然做些偷窃的事。但他在我们店里,品行却比别人都好,就是从不拖欠;虽然间或没有现钱,暂时记在粉板上,但不出一月,定然还清,从粉板上拭去了孔乙己的名字。
孔乙己喝过半碗酒,涨红的脸色渐渐复了原,旁人便又问道,“孔乙己,你当真认识字么?”孔乙己看着问他的人,显出不屑置辩的神气。他们便接着说道,“你怎的连半个秀才也捞不到呢?”孔乙己立刻显出颓唐不安模样,脸上笼上了一层灰色,嘴里说些话;这回可是全是之乎者也之类,一些不懂了。在这时候,众人也都哄笑起来:店内外充满了快活的空气。
在这些时候,我可以附和着笑,掌柜是决不责备的。而且掌柜见了孔乙己,也每每这样问他,引人发笑。孔乙己自己知道不能和他们谈天,便只好向孩子说话。有一回对我说道,“你读过书么?”我略略点一点头。他说,“读过书,……我便要考你一考。茴香豆的茴字,怎样写的?”我想,讨饭一样的人,也配考我么? 便回过脸去,不再理会。孔乙己等了许久,很恳切的说道,“不能写罢?……我教给你,记着!这些字应该记着。将来做掌柜的时候,写帐要用。”我暗想我和掌柜的等级还很远呢,而且我们掌柜也从不将茴香豆上帐;又好笑,又不耐烦,懒懒的答他道,“谁要你教,不是草头底下一个来回的回字么?”孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说,“对呀对呀!……回字有四样写法,你知道么?”我愈不耐烦了,努着嘴走远。孔乙己刚用指甲蘸了酒,想在柜上写字,见我毫不热心,便又叹一口气,显出极惋惜的样子。
有几回,邻舍孩子听得笑声,也赶热闹,围住了孔乙己。他便给他们茴香豆吃,一人一颗。孩子吃完豆,仍然不散,眼睛都望着碟子。孔乙己着了慌,伸开五指将碟子罩住,弯腰下去说道,“不多了,我已经不多了。”直起身又看一看豆,自己摇头说,“不多不多!多乎哉?不多也。”于是这一群孩子都在笑声里走散了。
孔乙己是这样的使人快活,可是没有他,别人也便这么过。
有一天,大约是中秋前的两三天,掌柜正在慢慢的结帐,取下粉板,忽然说,“孔乙己长久没有来了。还欠十九个钱呢!”我才也觉得他的确长久没有来了。一个喝酒的人说道,“他怎么会来? ……他打折了腿了。”掌柜说,“哦!”“他总仍旧是偷。这一回,是自己发昏,竟偷到丁举人家里去了。他家的东西,偷得的么?”“后来怎么样?”“怎么样?先写服辩,后来是打,打了大半夜,再打折了腿。”“后来呢?”“后来打折了腿了。”“打折了怎样呢?”“怎样?……谁晓得?许是死了。”掌柜也不再问,仍然慢慢的算他的帐。
中秋过后,秋风是一天凉比一天,看看将近初冬;我整天的靠着火,也须穿上棉袄了。一天的下半天,没有一个顾客,我正合了眼坐着。忽然间听得一个声音,“温一碗酒。”这声音虽然极低,却很耳熟。看时又全没有人。站起来向外一望,那孔乙己便在柜台下对了门槛坐着。他脸上黑而且瘦,已经不成样子;穿一件破夹袄,盘着两腿,下面垫一个蒲包,用草绳在肩上挂住;见了我,又说道,“温一碗酒。”掌柜也伸出头去,一面说,“孔乙己么?你还欠十九个钱呢!”孔乙己很颓唐的仰面答道,“这……下回还清罢。这一回是现钱,酒要好。”掌柜仍然同平常一样,笑着对他说,“孔乙己,你又偷了东西了!”但他这回却不十分分辩,单说了一句“不要取笑!”“取笑? 要不是偷,怎么会打断腿?”孔乙己低声说道,“跌断,跌,跌……”他的眼色,很像恳求掌柜,不要再提。此时已经聚集了几个人,便和掌柜都笑了。我温了酒,端出去,放在门槛上。他从破衣袋里摸出四文大钱,放在我手里,见他满手是泥,原来他便用这手走来的。不一会,他喝完酒,便又在旁人的说笑声中,坐着用这手慢慢走去了。
自此以后,又长久没有看见孔乙己。到了年关,掌柜取下粉板说,“孔乙己还欠十九个钱呢!”到了第二年的端午,又说,“孔乙己还欠十九个钱呢!”到中秋可是没有说,再到年关也没有看见他。
我到现在终于没有见——大约孔乙己的确死了。
]]>首先是购买对象存储资源包,购买之后创建相应的存储桶(Bucket),在创建存储桶(Bucket)的时候请记得把访问权限设置为“公有读私有写”,这是因为图床是给别人看的,自己负责把图片上传上去的,所以公有读的权限和私有写的权限就够了。这边就不贴图了,腾讯云和阿里云选择“对象存储”产品即可。
在访问对象存储的存储桶的时候,或者在使用一些图床工具访问的时候都是需要相应的 API 密钥的。你可以直接使用当前账户的 API 秘钥等,但是这个账户一般具有完全权限,比较危险或者说有点大财小用。
因此,出于安全和严谨考虑,我们可以创建子用户,阿里云和腾讯云都支持创建子用户。创建子用户之后,给相应的子用户赋予读写对象存储空间的权限即可。
子用户的参考:
上述完成之后,对于图片的访问,使用的是 OSS 或者 COS 提供的公网域名,但是使用公网域名去访问图片的时候会产生外网下行流量,而外网下行流量是需要收费的。在腾讯云和阿里云中,内网的上下行流量都是不收费的(比如上海地区的服务器访问上海地区的 Bucket 就是内网访问),外网上行流量也是不收费的。因此想到了使用云服务器+ Nginx 来实现代理,也就是先去访问 Nginx, Nginx 代我们去访问同一内网下 Bucket 的内容,然后返回。这样,由于云服务和对象存储空间所处的区域是同一块,是内网上下行流量,所以不会产生费用,而外网访问的是服务器,也不会产生费用。
举个例子:比如我们先使用 https://img.test.com/test/1.png
访问相应的云服务器,Nginx 中配置相应的代理规则,可以代我们访问 https://shanghai.oss.aliyun.com/test/1.png
的资源,之后返回,那么就省下这笔钱了。下面说一下配置过程:
这部分的话,先对域名的解析进行设置,将某个域名解析成一台云服务器的公网 IP ,这台云服务器要求跟Bucket 所在的地区是一样的,比如都是上海地区。
下面修改 Nginx 的配置文件,设置相应的代理规则即可。比如我下面就设置成使用 img.test.com
访问时会进行代理
# httpserver { listen 80; server_name img.test.com; location / { proxy_pass https://******.myqcloud.com/; }}
当然你也可以配置为 https 方式
# httpsserver { listen 443; server_name img.test.cn; ssl on; ssl_certificate cert/请记得改名.pem; ssl_certificate_key cert/请记得改名.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_pass https://******.aliyuncs.com/; }}# httpserver { listen 80; server_name img.test.cn; rewrite ^(.*)$ https://img.test.cn;}
最后我们就可以使用 https://img.test.com/test/1.png
来访问 https://shanghai.oss.aliyun.com/test/1.png
这个的资源了。
上面内容是单独存放在
sites-enabled
目录下的一个文件中的,而不是整个 Nginx 配置文件是那样。可以在默认的配置之上,添加上述内容即可。
TeX - pdfTeX - XeTeX - LuaTeX都是排版引擎,按照先进程度递增,对于排版引擎就可以理解为一个程序,这个程序可以将一个用规定排版语法编写的文本文档转换输出成一个排版文件。下面就对各种Tex进行简单讲解:
TeX
TeX是Latex、PdfTex和XeLaTeX等的基础。Tex可以让一个普通的文本文档变成排版相当好看的文档。一个简单的TeX例子如下所示:
\TeX{} is good at typesetting words like `fjord', `efficiency',and `fiasco'. It is also good at typesetting math like,$a^2 + b^2 = c^2$.\bye
上述文档经过TeX程序之后就会变成如下所示的了
在TeX中,如上面例子中的\bye
和\TeX
等都被称为命令,这些命令可以做简单的事件,例如改变字体大小,或者文档的行文方向,还可以生成目录等。Tex系统大致内建了300条命令,除此之外还可以根据这些命令重新建立新的命令。高德纳教授额外编写了大约600条有用的命令,将它们放置在叫Plain TeX的包里,以便使通常的排版方便些。
熟悉markdown的朋友,其实就可以理解为markdown的另一种形式。就是对一些命令进行解析,生成相应的排版文件。
Latex
TeX和Plain TeX中的命令仍然很基础,而且不是很容易理解和运用。为了解决这个问题,Leslie Lamport教授在19世纪80年代早期创造了一个基于TeX的更高层次的语言,叫做LaTeX。LeTeX是以TeX底层命令为基础重新定义的命令集,而且被赋予了许多含义。当你使用LaTeX命令的时候,实际上它会被解析成底层的TeX命令,除非你直接只用原有的TeX命令。
Leslie Lamport教授除了建立了LaTeX标准包之外,还允许开源社区对其进行发展。到目前为止,已经有了成千上万的LaTeX包可以让你实现从画图到编花纹各种各样的排版,
PdfTex
原生TeX系统所产生的排版文档格式叫做DVI(DeVice Independent format),这个文件可以转换成Postscript格式最终打印出来。然而自从1993年PDF格式诞生以来我们看到了PDF是比postscript更好的一种文档格式。pdfTeX便是对TeX进行了修改使其可以直接输出PDF文档格式。
今天当你安装了一个LaTeX的发行版之后,其里面就包含了两个程序——TeX和pdfTeX。同时发行版应该也会包含另外另个程序LaTeX和pdfLaTeX,但这两个只不过是TeX和pdfTeX分别对应的高级封装而已。如果你运行的是TeX和LaTeX,你将得到DVI文件,进一步会处理成postscript或者PDF。而如果你使用了pdfTeX或pdfLaTeX,你便可以直接得到PDF文件。
XeLaTex
2004年Jonathon Kew创造了XeTeX,这是另一个以原生TeX引擎为底层的高级语言集,这次不仅使得排版系统支持原有的英文数字和字母,还支持了现代的各国字体。这使得其他非英文文字国家使用TeX系统更加容易方便,同时可以让原本只能在文档处理器中使用的字体应用到LaTeX文档当中。与上文一样,XeLatex是XeTeX的高级封装。
综上所述:无论是哪种Tex,最终的目的都是将一个简单的Latex文档转换为一个排版优美的文件。使用者主要专注于编写符合Latex语法的文档即可。
**CTeX, MiKTeX, TeX Live都是 TeX 的发行,他们是许许多多东西的集合。**他们包括了上述各种引擎的可执行程序,以及一些文档类、模板、字体文件、辅助程序等等。
CTEX下载地址:https://mirrors.tuna.tsinghua.edu.cn/ctex/legacy/2.9/
CTeX 中文套装是基于 Windows 下的 MiKTeX 系统,集成了编辑器 WinEdt 和 PostScript 处理软件 Ghostscript 和 GSview 等主要工具。 CTeX 中文套装在 MiKTeX 的基础上增加了对中文的完整支持。 CTeX 中文套装支持 CJK, xeCJK, CCT, TY 等多种中文 TeX 处理方式。
TexLive下载地址:https://www.tug.org/texlive/
MikTex下载地址:https://miktex.org/download
这边个人推荐使用Texstudio,它是一个latex编辑器,是写LaTeX文档的集成环境,简单来说就可以当成文本编辑器。TeXstudio 前身是 TexMakerX, 是一个平台无关的 LaTeX 编辑器,内置 PDF 阅读器。高级特性包括拼写和语法检查、代码折叠、扩展文本导航、代码自动完成以及语法高亮
Texstudio下载地址:http://texstudio.sourceforge.net/
这边想要安装Tex等引擎,那就需要下载安装相关的发行包,安装完发行包之后,Latex等引擎就被安装上去了。发行包推荐MikTex,为啥选择MikTex呢?因为看网上好多人都推荐这款。
MikTex下载地址:https://miktex.org/download
这边根据你的系统(比如windows),选择相应的安装包下载即可,下载完成之后,双击安装,一路next下去就好了,MikTex会自动添加环境变量。
Texstudio下载地址:http://texstudio.sourceforge.net/
网页会检测你的系统,所以直接选择下载。下载完成之后,进行安装,安装完成之后,可能根据需要得修改如下配置:
默认使用的语言是英文的(这个是指软件页面中显示的语言),那么修改的流程为:option->configure Texstudio->General,选择Appearance面板中的Language为zh_CN。这边你还可以修改其他设置。
默认使用的编译器是Latex,但是通过Latex编译出来的排版文件是以.dvi
结尾的,假如想要编译出来的排版文件是pdf格式的,那么需要更换编译器,具体流程:option->configure Texstudio->Build->Default Compiler->PdfLatex,然后就OK了,但是PdfLatex是不支持中文的,所以一般使用的都是XeLaTex编译器。
打开刚安装的Texstudio之后,新建一个tex文件,将下面代码复制粘贴进去
\documentclass{article} \title{A Test for TeXstudio} \author{Dawn} \begin{document} \maketitle\tableofcontents \section{Hello China} China is in East Asia. \subsection{Hello Beijing} Beijing is the capital of China. \subsubsection{Hello Dongcheng District} \paragraph{Hello Tian'anmen Square}is in the center of Beijing \subparagraph{Hello Chairman Mao} is in the ere of Tian'anmen Square \end{document}
点击如下图所示的“绿色按钮”(构建并查看),就会成功编译出pdf格式的排版文件,如右图所示(因为我在上图的设置中选择了"内置PDF查看器(内嵌)"),那么至此表示latex环境已经搭建完全。
对于学习Latex,个人建议先学习一下基础,比如Latex是什么,一些常用的命令,可以自己动手写一个简单的排版文档,比如下面链接中的“入门级别-如何在1小时内快速入手LaTeX?”。等了解基础,上手之后,再根据需要使用模板,对于命令记住常用的就好,需要用到某些命令的时候再去查。
TeX的家族:LaTeX, pdfTeX, XeTeX, LuaTeX和ConTeXt:http://fatmouse.xyz/2014/12/09/2014-12-09-texde-da-jia-zu/
Latex:简介及安装:https://blog.csdn.net/pipisorry/article/details/53998352
MikTex+TexStudio配置论文写作环境(含vscode方式):https://zhuanlan.zhihu.com/p/42844087
]]>只要在文字前面加#,即可把这段文字设置为标题。一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
注:标准语法一般在#后跟个空格再写文字,虽然现在某些markdown编辑器不用空格也可以,但是最好还是按照标准语法来。比如Typora编辑器中不空格就不会生成标题的样式。
示例
# 这是一级标题## 这是二级标题### 这是三级标题
效果如下:
在写具体内容的时候,可能需要对某些内容显示不一样的样式,以用于特别标注。那么Markdown支持以下四种样式:
示例
**加粗效果***斜体效果****斜体加粗效果***~~删除效果~~
效果如下:
加粗效果
斜体效果
斜体加粗效果删除效果
在需要设为引用的文字前面加上>即可,引用也支持嵌套,如下:
示例
> 一级引用>> 二级引用>>> 三级引用
效果如下:
一级引用
二级引用
三级引用
一行连用三个或者三个以上的星号*,减号-,或者下划线_,就可以表示分割线。
示例
***---___
可以看到效果是一样的,如下
在Markdown中插入图片的语法如下
![Alt text](图片链接 "optional title")Alt text:图片的Alt标签,用来描述图片的关键词,可以不写。最初的本意是当图片因为某种原因不能被显示时而出现的替代文字,后来又被用于SEO,可以方便搜索引擎根据Alt text里面的关键词搜索到图片。图片链接:可以是图片的本地地址或者是网址。"optional title":鼠标悬置于图片上会出现的标题文字,可以不写。
只需要在基础语法的括号中填入图片的网络链接即可,现在已经有很多免费/收费图床和方便传图的小工具可选。
示例
![avatar](https://www.baidu.com/img/bd_logo1.png?where=super)
效果如下
只需要在基础语法的括号中填入图片的位置路径即可,支持绝对路径和相对路径。
示例
![avatar](/home/picture/1.png)
用base64转码工具把图片转成一段字符串,然后把字符串填到基础格式中链接的那个位置。
基础用法:![avatar](data:image/png;base64,iVBORw0......)这个时候会发现插入的这一长串字符串会把整个文章分割开,非常影响编写文章时的体验。如果能够把大段的base64字符串放在文章末尾,然后在文章中通过一个id来调用,文章就不会被分割的这么乱了。高级用法比如:![avatar][base64str][base64str]:data:image/png;base64,iVBORw0.....
这种方法作者没试过,也不推荐。
Markdown还支持超链接,语法格式如下:
[超链接名](超链接地址 "超链接title")title可加可不加
示例
[一口程序锅的博客](http://blog.dawnguo.cn)
效果如下:
Fun Tips
上面语法中[]中的内容为超链接名,那么[]其实可以不用文字,可以换成一张图片,如下
[![avatar](https://www.baidu.com/img/bd_logo1.png?where=super)](https://www.baidu.com)
效果如下(点击该图片之后会进行跳转):
Markdown最让人喜欢的一点就是支持代码高亮,并且支持数几十种语言的高亮,语法格式很简单,如下
`代码内容`
适用场景是比如你需要在一段文字中加入一小行代码,那么在两个之间`插入代码即可。
```语言名
具体代码
```
适用场景是单独的贴上一整段代码,那么在三个`之间插入代码即可。
单行示例
只需要运行这条命令`pip install ..`即可
效果如下
只需要运行这条命令pip install ..
即可
多行示例
(```)python print("markdown 真香!")print("一口程序锅 这个公众真不错!")(```)注意:因为在个人博客中3个反引号会被解析,所以加上了括号,实际上是没有括号的。
效果如下
print("markdown 真香!")print("一口程序锅 这个公众号不错!")
在阐述分点的时候使用列表的形式会更加直观,Markdown支持有序和无序两种列表形式
在需要作为列表条目的文字前面加上数字和点,并且点和后面的内容要有一个空格即可,如1. 列表条目
示例
1. 一口程序锅 这个公众不错!2. 一口程序锅 这个公众不错!3. 一口程序锅 这个公众不错!
效果如下
在需要作为列表条目的文字前面加上-+*这些符号中的任何一种,并且内容和符号之间要有一个空格,如- 列表条目
示例
- 一口程序锅 这个公众号不错!+ 一口程序锅 这个公众号不错!* 一口程序锅 这个公众号不错!
效果如下
Markdown还支持插入表格,语法如下
|表头|表头|表头||-|:-:|-:||内容|内容|内容||内容|内容|内容|第二行分割表头和内容,同时也是表格居中居左居右的定义:-符号有一个就行,多个也可以,只有-符号的话默认是居左-符号两边加:表示文字居中-符号右边加:表示文字居右
示例
| 公众号 | 好感度 | 点赞数 | 好评数 || - | :-: | -: |:-|| 一口程序锅 | 99+ | 99+ | 99+ || 一口程序锅 | 99+ | 99+ | 99+ |
效果如下:
公众号 | 好感度 | 点赞数 | 好评数 |
---|---|---|---|
一口程序锅 | 99+ | 99+ | 99+ |
一口程序锅 | 99+ | 99+ | 99+ |
对编辑带有数学公式的笔记来说,Markdown依旧能够胜任,Markdown支持Latex数学公式,如下
$行内公式$
$$行间公式$$
行内公式示例
我们设变量为$x_i^n$
效果如下
我们设变量为$x_i^n$
行间公式示例
$$sum = \sum_{i=1}^mx_i$$
效果如下
$$
sum = \sum_^mx_i
$$
上标^{}
下标_{}
上述这些上下标是用来放在需要插入上下标的地方,花括弧内为上下标的内容,当角标为单个字符时候,可以不用花括号,但是如果角标为多字符或者多层次时,必须要使用花括号。
示例
x^2, x_1^2, x^{(n)}_{22}, ^{16}O^{2-}_{32}, x^{y^{z^a}}, x^{y_z}
$$
x2, x_12, x{(n)}_{22}, {16}O{2-}_{32}, x{y{za}}, x^
$$
语法为:
\frac{分子}{分母}
示例
\frac{x+y}{y+z}
$$
\frac{x+y}{y+z}
$$
语法为:
\sqrt[n]{表达式}
如果是平方根公式的话,那么[n]不填;如果表达式是个单个字符,则可以不用花括号,但需要在字符和 sqrt之间加入一个空格。
示例
\sqrt{a}+\sqrt b+\sqrt[3]{c}
$$
\sqrt+\sqrt b+\sqrt[3]
$$
\log_33,\lg8,ln2,log_{12}38
$$
\log_33,\lg8,ln2,log_{12}38
$$
\angle 30^\circ,\sin3,\cos3,\tan5,\cot4,\sec5,\csc5
$$
\angle 30^\circ,\sin3,\cos3,\tan5,\cot4,\sec5,\csc5
$$
求和的语法格式为:
\sum
示例:
sum = \sum_{i=1}^mx_i
$$
sum = \sum_^mx_i
$$
\int
示例
\int_{0}^{1}x^{2}dx
$$
\int_01x2dx
$$
\lim
示例
\lim_{n\rightarrow+\infty}\frac{1}{n}
$$
\lim_{n\rightarrow+\infty}\frac{1}
$$
\alpha,\beta,\gamma,\theta,\Theta,\Omega,\xi
$$
\alpha,\beta,\gamma,\theta,\Theta,\Omega,\xi
$$
更多的Latex语法可以参考以下两篇博客:
键入[TOC]
,之后回车目录便会呈现,目录树会根据文档中的h1~h6标题自动生成,并且支持点击跳转。
注意:[TOC]需要独占一行才能生效
手动添加跳转到某个标题的链接。使用如下的语法:
[名称](#id)“名称”可以随便填写,“id”需要填写跳转到的标题的内容。
示例
[10. 数学公式插入](#10. 数学公式插入)
效果如下
[10. 数学公式插入](#10. 数学公式插入)
Markdown会自动给每一个h1~h6标题生成一个锚,其id就是标题内容
如开头所说,Markdown的核心是Web发布所需的HTML代码的简写,那么markdown自然也支持html语言。举个简单的例子,比如使用Markdown使用# 一级标题
来设置为一级标题,那么我们也可以用<h1>一级标题</h1>
来设置一级标题。
HTML示例
<h1>这是一级标题</h1><h2>这是二级标题</h2><h3>这是三级标题</h3>
效果如下:
既然Markdown语法很简洁,那么什么时候需要用到HTML呢?比如我们需要对Markdown中插入的图片大小进行修改的时候(markdown暂不支持此类属性的设置),可以使用如下HTML代码:
<img src="https://www.baidu.com/img/bd_logo1.png?where=super" alt="Baidu" width="50" height="50" />
效果如下:
为了更加便于理解与使用,附上维基百科上的一个表格:
更加详细的对应关系可以点击本文“参考与推荐内容”中提到的相关链接。
参考与推荐内容:
]]>关于Markdown,我大约是在半年前开始接触的。接触后不久,就爱上了Markdown了,可以说真的很适合做IT的人写笔记写文章的,Markdown诞生之初的主要使用者也是这一类人。通过Markdown标志语言来写文章的一个最大特点就是:写文章和排版可以同时进行,通过简单的标志语法即可实现排版,甚至可以很夸张的说,通过markdown,可以在写文章做笔记的时候用不到鼠标。关于markdown的语法,可以在网上进行搜索,很多很多。而对于使用Markdown写作,一款支持Markdown语法的编辑器是相当重要的。这里我推荐Typora,主要是因为以下几点:
![]()
,而使用快捷键只需要输入:Ctrl + Shift + i
,就可以快速插入图片了。当然个人建议,还是在掌握好语法的基础上,再去使用快捷键。使用 Markdown 编辑好文章后,其实我们已经完成一大半的排版工作。接下来「标题添加编号这个功能」其实是选择性的,可有可无,不过我觉得添加上编号会让文章显得更加有秩序。然而手动添加上编号会比较麻烦,而且文章一旦层次结构改变,又得去改编号会更麻烦。所以这边编号采用了:VS Code+Markdown-index插件 的方法,使用方法很简单:
打开已经编辑好的Markdown文件
打开命令窗口 (Ctrl + Shift + P或F1),输入 Markdown add index,然后回车,就会自动给文章添加序号。如果后头标题顺序有调整的话,只需要再次执行该命令即可。
完成上述的工作之后,为了让公众号的文章变得更加好看,就需要对文章做最后一步的渲染工作。这里推荐Md2All来进行渲染,Md2All是一款线上渲染工具,搜索md2all进入官网之后即可使用,使用界面如下图所示:
我推荐Md2All,主要是因为它有以下优点:
排版样式非常多,而且支持自定义 CSS 样式
用户点击菜单栏中的“一键排版”选项之后,即可选择不同的样式,除“最爱样式”和“默认样式”之外的其他样式模板相对"默认样式“改动的部分,都用 红色 标出来。也就是说其他样式,如”标题居中“样式,这个样式相对”默认样式“修改的部分用红色表示出来了,未用红色标记出来的即相对”默认样式“是没有修改的。
同时用户可以在“最爱样式”中自定义自己的样式,作者推荐第一步先把"默认样式“中把整个样式内容复制到"最爱样式“中,然后再在最爱样式中进行修改。比如你喜欢某模板的标题样式,然后又喜欢另一模板的引用块样式,可以把相应的样式复制并整合到你“最爱样式”下,如有需要再加以修改就行了。
注意:修改样式后,**“保存”**就能才能预览到效果。
代码高亮主题样式多
用户可以通过菜单选项中的“代码主题“,来选择不同的代码高亮样式,当然也可以参考“一键排版”下的“代码块样式”来定义自己的代码高亮样式。但是需要注意的是一旦你使用的排版样式中自定义了代码的高亮样式,那么在该排版样式下,会固定用你自定义的代码高亮样式,而菜单的“代码主题不再有效”。
另外对于推送在公众号上的文章,因为大多数是在手机端查看,建议勾选代码紧凑选项,这样子代码的size在手机端会好看点。
可对接七牛云账号,支持直接上传图片;
点击菜单栏中的图片选项之后,即可跳出七牛云的配置,在此配置相关参数之后,即可使用七牛云图床。
Md2All的推荐使用链接:
完成上述步骤之后,就可以点击Ma2All上的“复制”图标,然后打开微信公众号后台复制进去,格式会原模原样地保留下来,接下去发布就可以了。
]]>注意:是点**"复制"**这个图标,已实现:全选+复制,不能用ctrl+c,或右键的复制。
_config.yml
。 其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。为了描述方便,在以下说明中,将前者称为 网站配置文件, 后者称为 主题配置文件。主要包括以下高级使用:
网络上有很多hexo相关的主题,只要把相应的主题文件下载下来,放到theme
目录中,然后修改网站配置文件_config.yml
中theme
字段的值。下面是以安装next主题为例
hexo init
的文件夹),查看文件$ cd [Blog]$ ls_config.yml node_modules scaffolds themesdb.json package.json source
$ mkdir themes/next$ curl -s https://api.github.com/repos/iissnan/hexo-theme-next/releases/latest | grep tarball_url | cut -d '"' -f 4 | wget -i - -O- | tar -zx -C themes/next --strip-components=1
$ cd themes/next$ git pull
_config.yml
文件,切换成Next主题## Themes: https://hexo.io/themes/#theme: landscapetheme: next
scheme
值,来选择一款自己喜欢的主题风格。# Schemesscheme: Muse //默认主题#scheme: Mist#scheme: Pisces#scheme: Gemini
完成上述操作之后,用hexo clean
命令清除下缓存,之后hexo g
生成静态网页,可以通过hexo s
来进行预览。
next主题的安装和配置可参考nexT主题官方文档,nexT github官网中文文档
编辑主题配置文件,修改 avatar
, 值设置成头像的链接地址。其中,头像的链接地址可以是:
地址 | 值 |
---|---|
完整的互联网 URI | http://example.com/avatar.png |
站点内的地址 | 将头像放置主题目录下的 source/uploads/ (新建 uploads 目录若不存在) 配置为:avatar: /uploads/avatar.png 或者放置在 source/images/ 目录下配置为:avatar: /images/avatar.png |
menu是如下图所示的导航栏
_config.yml
来添加menu 项,menu配置项中上下的顺序决定了menu显示的顺序。# When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash (/archives -> archives)menu: home: / category: /categories/ archives: /archives/ tags: /tags/ about: /about/ #sitemap: /sitemap.xml #commonweal: /404/
tags
之后,还需要创建相应的文件,命令如下$ hexo new page "tags"
---title: All tagsdate: 2018-01-20 18:57:48type: "tags"---
假如只对主题配置文件进行了修改,即只添加了tags
menu项,不创建相应的文件,当在博客网站点击标签菜单可能会提示
其他Menu选项也同理创建,如categories项目、about项。添加categories项之后,创建的文件内容填写如下
---title: All categoriesdate: 2018-01-20 18:57:48type: "categories"---
添加about选项之后,创建的文件内容可以随意。
编辑主题配置文件_config.yml
,修改social
字段的值
# Social Links# Key is the link label showing to end users.# Value is the target link (E.g. GitHub: https://github.com/iissnan)social: #LinkLabel: Link Github: https://github.com/yourgithub E-Mail: mailto:dawnxu96@gmail.com Instagram: https://instagram.com/yourins
效果如下
编辑主题配置文件_config.yml
,修改auto_excerpt
字段
# Automatically Excerpt. Not recommend.# Please use <!-- more --> in the post to control excerpt accurately.auto_excerpt: enable: true# 置为true则自动截取100字当做首页摘要 length: 100# 自动截取的字数
上述的方式并不推荐,推荐是手动设置文章摘要,手动设置文章摘要,我们只需在想显示为摘要的内容之后添 <!-- more -->
即可。像下面这样:
---title: hello hexo markdowndate: 2016-11-16 18:11:25tags:- hello- hexo- markdown---我是短小精悍的文章摘要(๑•̀ㅂ•́)و✧<!-- more -->紧接着文章摘要的正文内容
打开.\themes\next\source\css\_custom\custom.styl
,添加以下代码:
// 主页文章添加阴影效果.post { margin-top: 60px; margin-bottom: 60px; padding: 25px; -webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .5); -moz-box-shadow: 0 0 5px rgba(202, 203, 204, .5);}
_config.yml
中打开 wordcount 统计功能即可。如下所示:# Post wordcount display settings# Dependencies: https://github.com/willin/hexo-wordcountpost_wordcount: item_text: true wordcount: true # 单篇 字数统计 min2read: true # 单篇 阅读时长 separated_meta: true
npm i --save hexo-wordcount
Node 版本 7.6.0 之前,请安装 2.x 版本 (Node.js v7.6.0 and previous) ,安装命令如下:
npm install hexo-wordcount@2 --save
参考博客:Hexo添加字数统计、阅读时长
修改.\themes\next\layout\_macro\post.swig
中文件,搜索rel="tag">#
,将#
替换成<i class="fa fa-tag"></i>
。
效果如下
修改主题配置文件_config.yml
中字段的值为true
即可。
# Declare license on postspost_copyright: enable: true license: CC BY-NC-SA 3.0 license_url: https://creativecommons.org/licenses/by-nc-sa/3.0/
效果图如下
在主题配置文件中找到canvas_nest
,设置成ture
就可以啦,当然假如你想要其他样式,那么只要设置该样式为true
即可。
# Canvas-nestcanvas_nest: true# three_wavesthree_waves: false# canvas_linescanvas_lines: false# canvas_spherecanvas_sphere: false# Only fit scheme Pisces# Canvas-ribboncanvas_ribbon: false
编辑主题配置文件,搜索pace
,将其值改为ture
就可以,之后选择一款你喜欢的样式即可。
# Progress bar in the top during page loading.pace: true# Themes list:#pace-theme-big-counter#pace-theme-bounce#pace-theme-barber-shop#pace-theme-center-atom#pace-theme-center-circle#pace-theme-center-radar#pace-theme-center-simple#pace-theme-corner-indicator#pace-theme-fill-left#pace-theme-flash#pace-theme-loading-bar#pace-theme-mac-osx#pace-theme-minimal# For example# pace_theme: pace-theme-center-simplepace_theme: pace-theme-minimal
添加网页进度加载选项之后,效果如下
方法1
直接修改主题配置文件_config.yml
中的copyright配置项为false
,假如没有该配置项,可以通过方法2
# Footer `powered-by` and `theme-info` copyrightcopyright: false
方法2
打开./themes/next/layout/_partials/footer.swig
,注释掉相应代码
// 用下面的符号注释,注释代码用下面括号括起来// <!-- --><!--{% if theme.copyright %}<div class="powered-by"> {{ __('footer.powered', '<a class="theme-link" href="https://hexo.io">Hexo</a>') }}</div><div class="theme-info"> {{ __('footer.theme') }} - <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next"> NexT.{{ theme.scheme }} </a></div>{% endif %}-->
修改之后效果如下
修改themes/next/_config.yml
,把 false
改为 true
:
# Back to top in sidebarb2t: true# Scroll percent label in b2t buttonscrollpercent: true
效果如下
_config.yml
中的favicon
配置项,指定图标所在路径即可# Put your favicon.ico into `hexo-site/source/` directory.favicon: /favicon-32x32.png
效果如下:
NexT主题支持集成 Swiftype、 微搜索、Local Search 和 Algolia。下面介绍Local Search的安装。
$ npm install hexo-generator-search --save
$ npm install hexo-generator-searchdb --save
local_search
enable为true
# Local search# Dependencies: https://github.com/flashlab/hexo-generator-searchlocal_search: enable: true # if auto, trigger search by changing input # if manual, trigger search by pressing enter key or search button trigger: auto # show top n results per article, show all results by setting to -1 top_n_per_article: 1
添加之后Menu如下
搜索效果演示如下
themes/next/source/css/_variables/base.styl
中的font-size-headings-step
// Headings font size$font-size-headings-step = 2px$font-size-headings-base = 24px$font-size-headings-small = $font-size-headings-base - $font-size-headings-step$font-size-headings-smaller = $font-size-headings-small - $font-size-headings-step$font-size-headings-large = $font-size-headings-base + $font-size-headings-step$font-size-headings-larger = $font-size-headings-large + $font-size-headings-step
themes/next/source/css/_variables/Mist.styl
中的font-size-headings-base
// Variables of Mist scheme// =================================================$font-size-headings-base = 26px
也可以直接在Mist.styl
中加上$font-size-headings-step = 2px //改为自己想要的步长
针对如下的问题进行解决“2级标题”和“3级标题”看不出来有啥区别啊
参考链接如何更改字体?
$ npm un hexo-renderer-marked --save
hexo-renderer-markdown-it
插件$ npm i hexo-renderer-markdown-it --save
配置
hexo-renderer-markdown-it
的所有配置,均在 Hexo 的网站配置文件 _config.yml
中进行配置。
简单配置
hexo-renderer-markdown-it
提供三种简单配置方式(配置级别)zero
、default
、commonmark
。
在 Hexo 的网站配置文件 _config.yml
文件中配置以下内容:
# Markdown-it config#markdown: 'zero'#markdown: 'default'markdown: 'commonmark'
每种简单配置有其默认的一些设置。更多个性化配置,请参考:高级配置。
警告:选择一种简单配置,将阻止您使用任何附带的插件。
高级配置
hexo-renderer-markdown-it
提供的高级配置,是对简单配置的详细定制。在 Hexo的网站配置文件_config.yml
文件中配置以下内容(官方提供的完整配置,没有特殊需要不用再次修改):
# Markdown-it configmarkdown: render: html: true xhtmlOut: false breaks: true linkify: true typographer: true quotes: '“”‘’' plugins: - markdown-it-abbr - markdown-it-footnote - markdown-it-ins - markdown-it-sub - markdown-it-sup anchors: level: 2 collisionSuffix: 'v' permalink: true permalinkClass: header-anchor permalinkSymbol: ¶
渲染器(render)
markdown: render: html: true xhtmlOut: false breaks: true linkify: true typographer: true quotes: '“”‘’'
html: true # 不转义 HTML 内容html: false # 转义 HTML 内容,使标签作为文本输出
xhtmlOut: true # 必须使用完全的 XHTML 代码,换行必须为 <br/>xhtmlOut: false # 不必必使用完全的 XHTML 代码,换行可以为 <br>
breaks: true # 每次会车换行相当于一个 <br/> 标签breaks: false # Pa每次会车换行会被忽略
linkify: true # 类似链接的文本,作为链接输出linkify: false # 类似链接的文本,依然作为文本输出
typographer: true # 替换常见的排版元素typographer: false # 不替换常见的排版元素
quotes: '“”‘’' # 'single'、"double" 变成 ‘single’、“double”quotes: '«»“”' # 'single'、"double" 变成 “single”、«single»
插件(plugins)
hexo-renderer-markdown-it
默认集成5个 markdown-it
插件
markdown: plugins: - markdown-it-abbr - markdown-it-footnote - markdown-it-ins - markdown-it-sub - markdown-it-sup
*[HTML]: Hyper Text Markup Language*[W3C]: World Wide Web ConsortiumThe HTML specificationis maintained by the W3C.
basic footnote[^1]here is an inline footnote[^2](inline footnote)and another one[^3]and another one[^4][^1]: basic footnote content[^3]: paragraphfootnotecontent[^4]: footnote content with some [markdown](https://en.wikipedia.org/wiki/Markdown)
++inserted++ => <ins>inserted</ins>
H~2~0 => H<sub>2</sub>O
29^th^ => 29<sup>th</sup>
锚(anchors)
可能自己不会用,因此,没太关注这个功能
markdown: anchors: level: 2 collisionSuffix: 'v' permalink: true permalinkClass: header-anchor permalinkSymbol: ¶
参考链接
]]>Hexo是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。即把用户的markdown文件,按照指定的主题解析成静态网页。
安装使用hexo之前需要先安装Node.js和Git,当已经安装了Node.js和npm(npm是node.js的包管理工具),可以通过以下命令安装hexo
$ npm install -g hexo-cli
可以通过以下命令查看主机中是否安装了node.js和npm
$ node --version#检查是否安装了node.js$ npm --version#检查是否安装了npm
如下所示表示已经安装了node.js和npm
root@***:~# node --versionv8.11.3root@***:~# npm --version6.7.0
安装完Hexo之后,执行下列命令,Hexo将会在指定目录中新建所需要的文件,指定的目录即为Hexo的工作站
$ hexo init <folder>$ cd <folder>$ npm install
新建完成之后,指定目录中的情况如下
.├── _config.yml├── package.json├── scaffolds├── source| ├── _drafts| └── _posts└── themes
网站的配置信息,您可以在此配置大部分的参数。 配置参数讲解
应用程序的信息,以及需要安装的模块信息。
模版文件夹。新建文章时,Hexo 会根据 scaffold 中的模板文件来建立新的文件。Hexo的模板是指在新建的markdown文件中默认填充的内容。例如,如果修改scaffold/post.md中的Front-matter内容,那么每次新建一篇文章时都会包含这个修改。也就是说,通过hexo命令每新建一个文章,都会包含指定模板文件中的内容。
资源文件夹是存放用户资源的地方,如markdown文章。Markdown 和 HTML 文件会被解析并放到 public
文件夹,而其他文件会被拷贝过去。
注意:除
_posts
文件夹之外,开头命名为_
(下划线)的文件 / 文件夹和隐藏的文件将会被忽略。
主题文件夹。Hexo 会根据主题来解析source目录中的markdown文件生成静态页面。官网主题详述
可以执行下列命令来创建一篇新文章。
$ hexo new [layout] <title>
可以在命令中指定文章的布局(layout),不指定默认为 post
,也可以通过修改 _config.yml
中的 default_layout
参数来指定默认布局。创建的新文章会自动加上指定布局对应的模板文件中的内容。
Hexo 有三种默认布局:post
、page
和 draft
,它们分别对应不同的路径,而自定义的其他布局和 post
相同,都将储存到 source/_posts
文件夹。
布局 | 路径 |
---|---|
post | source/_posts |
page | source |
draft | source/_drafts |
如果你不想你的文章被处理,你可以将 Front-Matter 中的
layout:
设为false
。
在新建文章时,Hexo 会根据 scaffolds
文件夹内相对应的文件来建立文件,例如:
$ hexo new photo "My Gallery"
在执行这行指令时,Hexo 会尝试在 scaffolds
文件夹中寻找 photo.md
,并根据其内容建立文章,以下是您可以在模版中使用的变量:
变量 | 描述 |
---|---|
layout | 布局 |
title | 标题 |
date | 文件建立日期 |
Front-matter是文件最上方以 ---
分隔的区域,用于指定个别文件的变量,举例来说:
---title: Hello Worlddate: 2013/7/13 20:46:25---
注意:一般Front-matter使用的yaml语法,yaml语法需要注意空格,如
title: Hello World
冒号需要有一个空格,当然除YAML 外,你也可以使用 JSON 来编写 Front-matter。
以下是预先定义的参数,您可在模板中使用这些参数值并加以利用。
参数 | 描述 | 默认值 |
---|---|---|
layout | 布局 | |
title | 标题 | |
date | 建立日期 | 文件建立日 |
updated | 更新日期 | 文件更新日期 |
comments | 开启文章的评论功能 | true |
tags | 标签(不适用于分页) | |
categories | 分类(不适用于分页) | |
permalink | 覆盖文章网址 |
分类和标签
只有文章支持分类和标签,您可以在 Front-matter 中设置。在其他系统中,分类和标签听起来很接近,但是在 Hexo 中两者有着明显的差别:分类具有顺序性和层次性而标签没有顺序和层次。
category:- Diarytags:- PS3- Games
WordPress支持对一篇文章设置多个分类,而且这些分类可以是同级的,也可以是父子分类。但是Hexo不支持指定多个同级分类。下面的指定方法:
category:
- Diary
- Life
会使分类
Life
成为Diary
的子分类,而不是并列分类。因此,有必要为您的文章选择尽可能准确的分类.
设置文章摘要,我们只需在想显示为摘要的内容之后添 <!-- more -->
即可。像下面这样:
---title: hello hexo markdowndate: 2016-11-16 18:11:25tags:- hello- hexo- markdown---我是短小精悍的文章摘要(๑•̀ㅂ•́)و✧<!-- more -->紧接着文章摘要的正文内容
这样,<!-- more -->
之前、文档配置参数之后中的内容便会被渲染为站点中的文章摘要。
注意!文章摘要在文章详情页是正文中最前面的内容。
写个博客,有时候会想添加个图片或者其他形式的资源等等。有以下两种方式进行解决:
对于使用相对路径引用资源的,我们可以使用 Hexo 提供的资源文件夹功能。
使用文本编辑器打开站点根目录下的 _ config.yml
文件,将 post_asset_folder
值设置为 true
。
post_asset_folder: true
修改之后会开启 Hexo 的文章资源文件管理功能。Hexo 将会在我们每一次通过 hexo new <title>
命令创建新文章时自动创建一个同名文件夹,于是我们便可以将文章所引用的相关资源放到这个同名文件夹下,然后通过相对路径引用。例如,你把一个 example.jpg
图片放在了这个同名文件夹中,使用相对路径的常规 markdown 语法 ![](./example.jpg)
即可访问 。
首先执行下列命令生成相应的静态网页,生成的静态网页以及相关资源都会在public
目录下
$ hexo generate
hexo-server模块的主要命令如下,输入以下命令以启动服务器,您的网站会在 http://localhost:4000
下启动。在服务器启动期间,Hexo 会监视文件变动并自动更新,您无须重启服务器。
$ hexo server
如果您想要更改端口,或是在执行时遇到了 EADDRINUSE
错误,可以在执行时使用 -p
选项指定其他端口,如下:
$ hexo server -p 5000
但是个人认为此方式比较适合用于调试网站,并不适合长时间的网站服务器,同时为了让这个命令在后台长时间运行,需要编写相应的脚本。
这个暂时没有尝试过,但是网络上很多都是关于部署到Git上的,可以自行谷歌或百度。
通过hexo g
命令生成的都是静态网页,可以把生成的public
目录中的文件,全都拷贝到网站根目录,然后启动apache或者nginx服务。
为了避免不必要的错误,在生成静态文件前,强烈建议先运行以下命令:
$ hexo clean
上述命令会清除本地站点文件夹下的缓存文件(db.json
)和已有的静态文件(public
)。