blog-engine-06-pelican 静态网站生成 windows11 安装实战笔记

简介: 这篇内容是一个关于在Windows 11上安装和使用静态网站生成器的教程,主要包括对多个博客引擎(如Jekyll、Hugo、Hexo等)的简介和对比,以及详细步骤教你如何在Windows环境下安装Python、Pelican、Rust和Cargo。作者首先介绍了Python和Pelican的安装,然后在遇到依赖问题时,引导读者安装Rust和Cargo来解决。最后,通过`pelican-quickstart`创建项目,编写Markdown文章并生成、预览站点。

拓展阅读

blog-engine-01-常见博客引擎 jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman 对比

blog-engine-02-通过博客引擎 jekyll 构建 github pages 博客实战笔记

blog-engine-02-博客引擎jekyll-jekyll 博客引擎介绍

blog-engine-02-博客引擎jekyll-jekyll 如何在 windows 环境安装,官方文档

blog-engine-02-博客引擎jekyll-jekyll SEO

blog-engine-04-博客引擎 hugo intro 入门介绍+安装笔记

[blog-engine-05-博客引擎 Hexo 入门介绍+安装笔记]
blog-engine-06-pelican 静态网站生成 官方文档

blog-engine-06-pelican 静态网站生成 windows 安装实战

blog-engine-07-gatsby 建极速网站和应用程序 基于React的最佳框架,具备性能、可扩展性和安全性

blog-engine-08-vuepress 以 Markdown 为中心的静态网站生成器

blog-engine-09-nuxt 构建快速、SEO友好和可扩展的Web应用程序变得轻松

blog-engine-10-middleman 静态站点生成器,利用了现代 Web 开发中的所有快捷方式和工具

前言

由于个人一直喜欢使用 markdown 来写 个人博客,最近就整理了一下有哪些博客引擎。

感兴趣的小伙伴也可以选择自己合适的。

windows11 安装实战笔记

python 安装

windows 安装 python

下载

https://www.python.org/downloads/windows/

比如选择 Download Windows installer (64-bit)

安装

双击运行安装包,选择 Add Python to PATH

等待安装完成。

验证

>python --version
Python 3.13.0a5

安装 pelican

python -m pip install "pelican[markdown]"

报错

error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]

      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

      Checking for Rust toolchain....
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

这个错误是由于 Pelican 中的某些模块需要 Rust 和 Cargo 来编译扩展模块,但您的系统中没有安装 Rust 或者 Rust 没有添加到 PATH 环境变量中引起的。

安装 rust + cargo

通常情况下,Rust 安装程序会自动安装 Cargo。

下载

访问 https://rustup.rs/ 网站。

下载 https://win.rustup.rs/x86_64 安装包。

安装

双击运行,选择默认标准安装配置。

Current installation options:


   default host triple: x86_64-pc-windows-msvc
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>

info: profile set to 'default'
info: default host triple is x86_64-pc-windows-msvc
info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
714.8 KiB / 714.8 KiB (100 %)  69.0 KiB/s in  8s ETA:  0s
info: latest update on 2024-03-21, rust version 1.77.0 (aedd173a2 2024-03-17)
info: downloading component 'cargo'
  5.5 MiB /   6.3 MiB ( 87 %)  54.4 KiB/s in  1m 54s ETA: 15s

可以看到,默认安装了 cargo 组件。

安装可能会比较慢,安装完成的日志:

info: default toolchain set to 'stable-x86_64-pc-windows-msvc'

  stable-x86_64-pc-windows-msvc installed - rustc 1.77.0 (aedd173a2 2024-03-17)


Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload its PATH environment variable to include
Cargo's bin directory (%USERPROFILE%\.cargo\bin).

Press the Enter key to continue.

验证

rustc --version
cargo --version

如下:

>rustc --version
rustc 1.77.0 (aedd173a2 2024-03-17)

>cargo --version
cargo 1.77.0 (3fe68eabf 2024-02-29)

重新安装 pelican

可以用管理员方式启动命令行,执行:

python -m pip install "pelican[markdown]"

安装完成日志:

Building wheels for collected packages: watchfiles
  Building wheel for watchfiles (pyproject.toml) ... done
  Created wheel for watchfiles: filename=watchfiles-0.21.0-cp313-none-win_amd64.whl size=267641 sha256=64c21d246b70aa70984c8b7fff0e8a64f61b48aec50df29cfdfae657fec780a7
  Stored in directory: c:\users\administrator\appdata\local\pip\cache\wheels\f3\79\9e\3f3a98d978d6bfb8e78b0841fcd0de0e61377b3f4f3fe55efa
Successfully built watchfiles
Installing collected packages: pytz, unidecode, tzdata, sniffio, six, pygments, ordered-set, mdurl, MarkupSafe, markdown, idna, feedgenerator, docutils, blinker, python-dateutil, markdown-it-py, jinja2, anyio, watchfiles, rich, pelican
Successfully installed MarkupSafe-2.1.5 anyio-4.3.0 blinker-1.7.0 docutils-0.20.1 feedgenerator-2.1.0 idna-3.6 jinja2-3.1.3 markdown-3.6 markdown-it-py-3.0.0 mdurl-0.1.2 ordered-set-4.1.0 pelican-4.9.1 pygments-2.17.2 python-dateutil-2.9.0.post0 pytz-2024.1 rich-13.7.1 six-1.16.0 sniffio-1.3.1 tzdata-2024.1 unidecode-1.3.8 watchfiles-0.21.0

创建项目

我们创建测试目录:D:\blogs\test

d:
mkdir D:\blogs\test
cd D:\blogs\test

然后创建项目骨架:

pelican-quickstart

这里面有一些配置项,根据自己的选择:

> Where do you want to create your new web site? [.]
> What will be the title of this web site?
You must enter something
> What will be the title of this web site? test
> Who will be the author of this web site? laomaxiaoxifeng
> What will be the default language of this web site? [Chinese (Simplified)]
> Do you want to specify a URL prefix? e.g., https://example.com   (Y/n) Y
> What is your URL prefix? (see above example; no trailing slash)
You must enter something
> What is your URL prefix? (see above example; no trailing slash) /
> Do you want to enable article pagination? (Y/n) Y
> How many articles per page do you want? [10] 10
> What is your time zone? [Europe/Rome] Rome
Please enter a valid time zone:
 (check [https://en.wikipedia.org/wiki/List_of_tz_database_time_zones])
> What is your time zone? [Europe/Rome] Asia/Shanghai
> Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n) Y
> Do you want to upload your website using FTP? (y/N) y
> What is the hostname of your FTP server? [localhost]
> What is your username on that server? [anonymous]
> Where do you want to put your web site on that server? [/] /
> Do you want to upload your website using SSH? (y/N) N
> Do you want to upload your website using Dropbox? (y/N) N
> Do you want to upload your website using S3? (y/N) N
> Do you want to upload your website using Rackspace Cloud Files? (y/N) N
> Do you want to upload your website using GitHub Pages? (y/N) N
Done. Your new project is available at D:\blogs\test

时区这里选择的 Asia/Shanghai

生成的项目架构:

2024/03/24  18:26    <DIR>          content
2024/03/24  18:26             2,829 Makefile
2024/03/24  18:26    <DIR>          output
2024/03/24  18:26               832 pelicanconf.py
2024/03/24  18:26               525 publishconf.py
2024/03/24  18:26             4,041 tasks.py

编写文章

然后我们在 D:\blogs\test\content\ 目录编写一个文章:

  • my.md
Title: My First Review
Date: 2010-12-03 10:20
Category: Review

我的第一篇 pelican 文章!

生成您的站点

从您的项目根目录中运行pelican命令来生成您的站点:

pelican content

预览

打开一个新的终端会话,导航到您的项目根目录,并运行以下命令启动Pelican的Web服务器:

pelican --listen

通过在浏览器中导航到 http://localhost:8000/ 来预览您的站点。

效果如下:

首页

相关文章
|
6月前
|
缓存 网络协议 数据安全/隐私保护
[运维笔记] - (命令).Windows server常用网络相关命令总结
[运维笔记] - (命令).Windows server常用网络相关命令总结
403 0
|
1月前
|
监控 Ubuntu Linux
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
这篇文章介绍了如何在Ubuntu和Windows系统中通过设置相同的时区并使用ntp服务来解决时间同步问题。
64 4
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
|
4月前
|
Linux Apache C++
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
该文介绍了如何在Windows环境下为FFmpeg集成SRT协议支持库libsrt。首先,需要安装Perl和Nasm,然后编译OpenSSL。接着,下载libsrt源码并使用CMake配置,生成VS工程并编译生成srt.dll和srt.lib。最后,将编译出的库文件和头文件按照特定目录结构放置,并更新环境变量,重新配置启用libsrt的FFmpeg并进行编译安装。该过程有助于优化直播推流的性能,减少卡顿问题。
118 2
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
|
4月前
|
存储 安全 数据安全/隐私保护
Windows 32 汇编笔记(一):基础知识
Windows 32 汇编笔记(一):基础知识
|
3月前
|
存储 编译器 Linux
Windows 32 汇编笔记(二):使用 MASM
Windows 32 汇编笔记(二):使用 MASM
|
5月前
|
编解码 Windows
FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid
XviD是开源MPEG-4视频编码器,与DivX相似但后者非开源。早期MP4常使用XviD或DivX编码,现已被H.264取代。在Windows上集成FFmpeg的XviD编解码库libxvid,需访问<https://labs.xvid.com/source/>下载源码,解压后在MSYS环境中配置、编译和安装。之后重新配置FFmpeg,启用libxvid并编译安装。详细步骤包括configure命令、make和make install。成功后,通过`ffmpeg -version`检查是否启用libxvid。更多音视频开发技术可参考《FFmpeg开发实战:从零基础到短视频上线》。
106 0
FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid
|
6月前
|
算法 Linux Windows
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
在Windows环境下为FFmpeg集成字幕渲染库libass涉及多个步骤,包括安装freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz和libass。每个库的安装都需要下载源码、配置、编译和安装,并更新PKG_CONFIG_PATH环境变量。最后,重新配置并编译FFmpeg以启用libass及相关依赖。完成上述步骤后,通过`ffmpeg -version`确认libass已成功集成。
142 1
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
|
6月前
|
编解码 Linux Windows
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
在Windows环境下,为FFmpeg集成音频编解码库,包括libogg、libvorbis和opencore-amr,涉及下载源码、配置、编译和安装步骤。首先,安装libogg,通过配置、make和make install命令完成,并更新PKG_CONFIG_PATH。接着,安装libvorbis,同样配置、编译和安装,并修改pkgconfig文件。之后,安装opencore-amr。最后,重新配置并编译FFmpeg,启用ogg和amr支持,通过ffmpeg -version检查是否成功。整个过程需确保环境变量设置正确,并根据路径添加相应库。
132 1
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
|
6月前
|
编解码 5G Linux
FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器
AVS3是中国首个8K及5G视频编码标准,相比AVS2和HEVC性能提升约30%。解码器libuavs3d支持8K/60P视频实时解码,兼容多种平台。《FFmpeg开发实战》书中介绍了在Windows环境下如何集成libuavs3d到FFmpeg。集成步骤包括下载源码、使用Visual Studio 2022编译、调整配置、安装库文件和头文件,以及重新配置和编译FFmpeg以启用libuavs3d。
102 0
FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器
|
6月前
|
Linux 编译器 C语言
FFmpeg开发笔记(二)搭建Windows系统的开发环境
在Windows上学习FFmpeg通常较困难,但通过安装预编译的FFmpeg开发包可以简化流程。首先需要安装MSYS2来模拟Linux环境。下载并执行MSYS2安装包,然后修改msys2_shell.cmd以继承Windows的Path变量。使用pacman安装必要的编译工具。接着,下载预编译的FFmpeg Windows包,解压并配置系统Path。最后,在MSYS2环境中运行`ffmpeg -version`确认安装成功。欲深入学习FFmpeg开发,推荐阅读《FFmpeg开发实战:从零基础到短视频上线》。
107 4
FFmpeg开发笔记(二)搭建Windows系统的开发环境