自我托管简单网站或博客的Python用户的绝佳选择

优采云 发布时间: 2021-05-09 05:14

  自我托管简单网站或博客的Python用户的绝佳选择

  Pelican是想要自托管简单网站或博客的Python用户的绝佳选择。

  如果要创建自定义网站或博客,则有很多选项。许多提供商可以托管您的网站,并为您完成大部分工作。 (WordPress是一个非常受欢迎的选择。)但是托管后,您将失去一些灵活性。作为软件开发人员,我更喜欢管理自己的服务器,并在网站的运行方式上保持更大的自由度。

  但是,管理Web服务器需要大量工作。安装它并获得一个简单的应用程序来提供内容非常容易。但是,维护安全补丁和更新非常耗时。如果您只想提供静态网页,那么拥有Web服务器和一系列应用程序可能不值得。手动创建HTML页面也不是一个好选择。

  这是静态网站*敏*感*词*的来源。这些应用程序使用模板来创建所需的静态页面,并将它们与关联的元数据交叉链接。 (例如,所有显示的页面都有公共标签或关键词。)静态网站*敏*感*词*可以使用导航区域,页眉和页脚等元素来帮助您创建具有公共外观的网站。

  我使用Pyhton已经很多年了,所以当我第一次开始寻找生成静态HTML页面的东西时,我想要用Python编写的东西。主要原因是我经常想了解应用程序工作方式的内部细节,并且使用我已经知道的语言可以使此操作变得更加容易。 (如果这对您来说并不重要,或者您不使用Python,那么还有其他一些很棒的静态网站*敏*感*词*会使用Ruby,JavaScript和其他语言。)

  我决定尝试鹈鹕。它是用Python编写的常用静态网站*敏*感*词*。它支持reStructuredText(LCTT注释:这是文本数据的文件格式,主要用于Python社区中的技术文档),还支持Markdown,这需要通过安装必要的软件包来完成。所有任务都通过命令行界面(CLI)工具执行,这使熟悉命令行的任何人都可以轻松完成。其简单的快速入门CLI工具使创建网站非常容易。

  在本文中,我将介绍如何安装Pelican 4,添加文章文章并更改默认主题。 (注意:我是在MacOS上开发的。其他Unix / Linux实验的结果相同,但是我没有Windows主机可以测试。)

  安装和配置

  第一步是创建一个虚拟环境,并在该虚拟环境中安装Pelican。

  $ mkdir test-site

$ cd test-site

$ python3 -m venv venv

$ ./venv/bin/pip install --upgrade pip

...

Successfully installed pip-18.1

$ ./venv/bin/pip install pelican

Collecting pelican

...

Successfully installed MarkupSafe-1.1.0 blinker-1.4 docutils-0.14 feedgenerator-1.9 jinja2-2.10 pelican-4.0.1 pygments-2.3.1 python-dateutil-2.7.5 pytz-2018.7 six-1.12.0 unidecode-1.0.23

  Pelican的快速入门CLI工具将创建基本布局和一些文件,以帮助您入门。运行pelican-quickstart命令。为简单起见,我输入了网站标题和作者的名字,并为URL前缀和文章分页选择了“ N”。 (对于其他选项,我使用默认值。)稍后在配置文件中更改这些设置非常容易。

  $ ./venv/bin/pelicanquickstart

Welcome to pelicanquickstart v4.0.1.

This script will help you create a new Pelican-based website.

Please answer the following questions so this script can generate the files needed by Pelican.

> Where do you want to create your new web site? [.]

> What will be the title of this web site? My Test Blog

> Who will be the author of this web site? Craig

> What will be the default language of this web site? [en]

> Do you want to specify a URL prefix? e.g., https://example.com (Y/n) n

> Do you want to enable article pagination? (Y/n) n

> What is your time zone? [Europe/Paris]

> Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n)

> Do you want to upload your website using FTP? (y/N)

> Do you want to upload your website using SSH? (y/N)

> Do you want to upload your website using Dropbox? (y/N)

> Do you want to upload your website using S3? (y/N)

> Do you want to upload your website using Rackspace Cloud Files? (y/N)

> Do you want to upload your website using GitHub Pages? (y/N)

Done. Your new project is available at /Users/craig/tmp/pelican/test-site

  您需要启动的所有文件均已准备就绪。

  快速入门默认为欧洲/巴黎时区,因此请在继续之前进行更改。在您喜欢的文本编辑器中打开pelicanconf.py文件,然后查找TIMEZONE变量。

  TIMEZONE = 'Europe/Paris'

  将其更改为UTC。

  TIMEZONE = 'UTC'

  要更新公共设置,请在pelicanconf.py中查找SOCIAL变量。

  SOCIAL = (('You can add links in your config file', '#'),

          ('Another social link', '#'),)

  我将添加一个链接到我的Twitter帐户。

  SOCIAL = (('Twitter (#craigs55)', 'https://twitter.com/craigs55'),)

  最后要注意逗号,这很重要。这个逗号将帮助Python识别该变量实际上是一个集合。确保您没有删除此逗号。

  现在,您已经掌握了网站的基本知识。快速入门会创建一个收录许多目标的Makefile。将devserver传递给make命令将在您的计算机上启动开发服务器,以便您可以预览所有内容。假定Makefile中使用的CLI命令位于PATH搜索路径中,因此您需要首先激活虚拟环境。

  $ source ./venv/bin/activate

$ make devserver

pelican -lr /Users/craig/tmp/pelican/test-site/content o

/Users/craig/tmp/pelican/test-site/output -s /Users/craig/tmp/pelican/test-site/pelicanconf.py

-> Modified: theme, settings. regenerating...

WARNING: No valid files found in content for the active readers:

   | BaseReader (static)

   | HTMLReader (htm, html)

   | RstReader (rst)

Done: Processed 0 articles, 0 drafts, 0 pages, 0 hidden pages and 0 draft pages in 0.18 seconds.

  在您喜欢的浏览器中打开:8000以查看您的简单测试博客。

  

  您可以在右侧看到Twitter链接,在左侧看到一些Pelican,Python和Jinja的链接。 (Jinja是Pelican可以使用的一种出色的模板语言。您可以在Jinja文档中了解有关它的更多信息。)

  添加内容

  现在您有了另一个基本的网站,请尝试添加一些内容。首先,将一个名为welcome.rst的文件添加到网站的内容目录中。在您喜欢的文本编辑器中,创建一个收录以下文本的文件:

  $ pwd

/Users/craig/tmp/pelican/test-site

$ cat content/welcome.rst

Welcome to my blog!

###################

:date: 20181216 08:30

:tags: welcome

:category: Intro

:slug: welcome

:author: Craig

:summary: Welcome document

Welcome to my blog.

This is a short page just to show how to put up a static page.

  Pelican将自动解析元数据行,包括日期,标签等。

  写入文件后,开发服务器应输出以下内容:

  -> Modified: content. regenerating...

Done: Processed 1 article, 0 drafts, 0 pages, 0 hidden pages and 0 draft pages in 0.10 seconds.

  在浏览器中刷新测试网站以查看更改。

  

  元数据(例如日期和标签)将自动添加到页面中。此外,Pelican会自动检测“简介”列并将其添加到顶部导航中。

  更改主题

  使用流行的开源软件(如Pelican)的好处之一是,许多用户将做出更改并为项目做出贡献。许多都是以主题的形式提供的。

  网站的主题将设置颜色,布局选项等。尝试新主题非常容易,您可以在Pelican主题中预览许多主题。

  首先,克隆GitHub存储库:

  $ cd ..

$ git clone --recursive https://github.com/getpelican/pelicanthemes

Cloning into 'pelicanthemes'...

  我喜欢蓝色,所以请尝试blueidea。

  编辑pelicanconf.py并添加以下行:

  THEME = '/Users/craig/tmp/pelican/pelican-themes/blueidea/'

  开发服务器将重新生成您的输出。在浏览器中刷新网页以查看新主题。

  

  主题控制布局的各个方面。例如,在默认主题中,您可以在文章旁边看到带有meta标签的列(Intro),但是此列不会显示在blueidea主题中。

  其他注意事项

  本文是对Pelican的快速介绍,因此我没有涉及一些重要主题。

  首先,我犹豫要迁移到静态站点的原因之一是它无法对文章进行评论。幸运的是,有些第三方服务提供商将为您提供评论功能。我目前关注的是Disqus。

  接下来,以上所有内容均在我的本地计算机上完成。如果我想让其他人查看我的网站,则必须将预先生成的HTML文件上载到某个地方。如果查看pelican-quickstart输出,您将看到使用FTP,SSH,S3甚至GitHub页面的选项,每个选项都有其优点和缺点。但是,如果必须选择一个,则可以选择发布到GitHub页面。

  鹈鹕还有许多其他功能,我每天都在学习。如果您想自托管网站或博客,其内容既简单又静态,并且希望使用Python,那么Pelican是一个不错的选择。它有一个活跃的用户社区,可以修复错误,添加功能以及创建新的有趣的主题。试试看!

  通过:

  作者:Craig Sebenik主题:lujun9972译者:MjSeven校对:wxy

  本文由LCTT 原创编写,Linux China自豪地发布

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线