整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

在Python中使用Sphnix+Markdown生成静态html网页式博客教程

phinx是一款支持多种编程语言的文档生成工具,可以由reStructuredText或Markdown文档生成HTML静态网页,并且自动生成索引,可以作为个人网站、博客,或者制作电子教程、书籍等。

1.安装Python

Python官网(https://www.python.org/)下载安装Python3+。

2.安装sphinx

pip install sphinx

3.安装markdown支撑的模块

pip install sphinx-markdown-tables

4.安装主题模板

pip install sphinx-rtd-theme

5.创建项目文件夹test并进入

6.启动Sphinx,输入以下信息

Project name:Python教程

Author name(s):zbxx.net

Project language [en]:zh_CN

启动Sphinx后会在项目文件夹test中创建如下文件结构:

7.编辑 source/conf.py 文件

extensions = ['recommonmark','sphinx_markdown_tables']

html_theme = 'sphinx_rtd_theme'

8.将markdown笔记文件Python.md放到source目录下

9.编辑 source/index.rst 文件,加入python.md

10.生成HTML

make html

生成静态HTML网页文件,位置:build\html,我们就拥有了一个完整的静态网站。

打开index.html预览效果,可以本地使用或上传个人网站。

markdown笔记修改后,需要清空HTML,重新生成。

make clean

先,原则上我们要知道对于搜索引擎来说静态页面肯定是最好的,抓取和响应速度最快,另外伪静态的链接本质上也是动态链接,只不过通过对应的算法规则把动态链接伪装成静态链接,htm或html结尾页面一般是静态或者伪静态页面。本站采用伪静态处理,少部分是我手写的静态页面,zblog主题静态插件可以在商店查找使用。


网页中动态链接、伪静态和静态页面如何区分?


一、动态链接url ( 如dingjianseo.com/?13.sd234554 )

一般来说带有问号等参数的链接我们可以称之为动态链接,相对程序开发来说,一般都是做到这一步,如果不去提,并不会专门做伪静态的页面


优点:空间占用量极小,使用动态页面,文件会非常小,因为数据是从数据库里面调出来的,如果需要修改特定值,可以直接在数据库上修改,然后所有的动态网页,就会自动更新了,对于服务器的数据占用会非常小,尤其是一些大公司平台本身的数据量就是企业级的。

(就我所知道的,很多b2b平台每次生成页面都需要几个小时来更新缓存)

缺点:因为要进行运算,所以用户访问速度较慢,而动态页面的数据又都是从数据库里面调取过来的,如果访问的人数较多,数据库的压力就会很大。虽然现在的动态程序大多数都使用了缓存技术,但是总的来说,动态页面对于服务器的压力较大一些。同时动态页面的网站一般对于服务器的要求比较高一些,同时访问的人越多服务器的压力越大。另外对于搜索引擎来说,动态页面非常不友好,所以也会有抓取和收录,但是相较于其他静态和伪静态还是少了很多,很多懂SEO的公司都会做伪静态处理。

二、静态链接url( 如 dingjianseo.com/2343.html )

优点:相对于其它两种动态和伪静态页面,静态页面访问速度最快,而访问的同时不需要从数据库里面调用数据,不仅访问速度快,而且也不会对服务器产生任何压力。

缺点:由于数据全都是存放在在HTML里面,所以导致文件数据很大。更为严重的是,如果需要改动,则所有的源码都要改动,而不能只改一个地方。而且如果是大型网站,它就会有大量的数据,占用大部分的服务器空间资源,每次添加内容都会生成新的静态页面。维护起来较之于动态和伪静态比较麻烦。

三、伪静态链接url

优点:结合了动态链接和静态链接,主要还是让搜索引擎把自己的网页当做静态页面来处理

缺点:流量起伏稍微大些使用伪静态就出现CPU使用超负荷,由于伪静态是用正则判断而不是真实的地址,分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病。


总结:个人建议小型站点单页面且后期几乎不去更新的,可以采用静态页面,如果批量较多的或者大型网站建议使用伪静态页面,而动态页面则适合不需要搜索引擎抓取的页面使用,如注册、会员等功能,需要登录的功能建议使用动态页面。

PS:肉眼无法判断是不是静态页面或者伪静态怎么办?我们可以在谷歌浏览器(360使用谷歌内核也可以)、火狐浏览器等,按crtl+shift+j 打开控制台,在控制台中输入 alert() 代码,记录当前页面的时间,然后重新输入一次,并再次记录时间,如果每次时间都不一样,就可以确定该页面为伪静态页面。

言:大家都知道网站可以由网页组成的,网页又分为静态网页和动态网页;那么什么是静态网页?什么是动态网页?它们又有什么区别呢?

1. 静态网页。

网页URL一般以htm、HTML、shtml等常见形式为后缀;不需要经过查询数据库就能直接展示的页面。

静态网页的页面一旦做成,内容就不会通过后台修改数据库来改变了,不管任何人任何时间打开的页面的内容都是不变的。

在功能方面有很大的限制,所以交互性较差,但是搜索引擎喜欢,不用查询数据库,直接就能显示,速度快,体验好。

2. 动态网页。

动态网页以数据库技术为基础,可以大大降低网站维护的工作量,采用动态网页技术的网站,可以实现更多的功能,如用户注册,用户登录,在线调查等;

举个例子,同一个页面路径,不同用户登录,展示的内容不一样,最简单直观的就是用户名不一样。

因为涉及到数据的连接访问和查询等一系列过程,所以响应速度相对较慢。

总结:不需要频繁的进行改动,或者只是为了展示信息、为了访问速度快、为了搜索引擎优先收录等,就用静态网页,简单易操作,不需要管理数据库等;如果网页内容相对复杂,功能多,改动频繁,实时性的内容多,就用动态网页。为了灵活运用,一般都是结合使用的,比如文章、新闻等用静态化页面;注册、登录、操作等用动态页面。