1,编写html文件的内容
2,将编写的文件内容写入一个文件中
3,保存文件为.html文件到指定目录
4,根据路径调用生成的html文件
我理解你的问题是生成动态网页是吧。一般动态的HTML是通过支持CGI 即 (通用网关接口)的语言生成的。例如 PHP ASP PYTHON RUBY等。当然前段的JS 也可以通过DOM 生成动态HTML
所谓HTML实际上是一种标记语言。而后端脚本语言通常可以控制 终端设备输出显示。这样利用输出加上通用网关接口就可以实现 动态的HTML输出(在这里实际上用户浏览器就是一个终端。)
一般后台语言生成HTML都是通过模板实现 例如PYTHON
# ! / u s r / b i n / e n v p y t h o nimport cgi
reshtml = '''Content-Type: text/html\n
<HTML><HEAD><TITLE> 7 Friends CGI Demo (dynamic screen)
</TITLE></HEAD>
<BODY><H3>Friends list for: <I>%s</I></H3>
Your name is: <B>%s</B><P>
You have <B>%s</B> friends.
</BODY></HTML>'''
form = cgi.FieldStorage()
who = form['person'].value howmany = form['howmany'].value print reshtml %
(who, who, howmany)
我们在使用Hexo框架生成静态博客时,其实是将你写好的.md文件输出成HTML文件进行渲染,其中HTML的文件名称就是.md的文件名称。通常是把.md文件命名成中文的甚至是文章的标题,那么生成HTML文件时也就是中文的文件名了。
这样就会带来一个比较麻烦的问题就是,url的链接过长,不利于记录和同步,而且对搜索引擎不友好。例如 什么样的问题应该使用动态规划 这段中文url就编译成了 %E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%E9%97%AE%E9%A2%98%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/
我们可以在Hexo生成HTML文件时,修改HTML的命名策略,即将原始的命名方式改为我们自定义的命名方式?
Hexo的根配置文件_config.yml,打开它,修改配置文件
我把他改成这样了,page是目录,执行 hexo g 会在public下生成,我让生成的HTML文件都放在page下, :fileName.html 是HTML的命名格式,其中 fileName 是个变量。这个变量从哪来?
为保证文件名在文件的名字不变,我们把文件名和 Title 关联起来,然后通过 base64 进行编码,这样只要title不变我们文件也不变,同时这个改变最好在进行文档生成就执行,所以我们需要把该功能做成插件 hexo-abbrlink-base64 。
源码如下:
生产的文件格式如下:
使用abbrlink之后,文章的url就会变得非常简洁,例如 https://XXXXXX/pages/5S50ll2222.html
有一些插件会根据标题的拼音、翻译生成permlink,但是我感觉这些都不是好的做法。事实上url不宜太长,将一句话放在url中并不一定增强所谓的seo优化,反倒导致其使用起来相当不便。
就像许多博客平台一样,为每篇文章分配短小且唯一的url即可,无论是看起来还是用起来都很方便。