更新网站内容(HTML网页来说的设计数据库什么大差别?(上))

优采云 发布时间: 2022-04-09 10:14

  更新网站内容(HTML网页来说的设计数据库什么大差别?(上))

  提前免责声明:Jekyll 并不简单,必须以正确的眼光看待它。用 PHP、JSP 和 Django 等来讨论它会减少很多挫败感。它的学习曲线几乎与 Wordpress 相当,工作流程和结构也几乎相同。

  Jekyll 和 Wordpress 最大的不同是没有数据库。但就经验而言,差别不大。

  完全放弃数据库是一个新的 Jekyll 风格的想法。

  因为你只需要定期更新一些 Markdown 格式的 文章,然后将其显示为网页,并将其组合为 网站。不需要首选设计数据库或其他东西。

  简单来说,Jekyll 是一个基于 Ruby 语言的静态博客网站制作工具,可以将 Markdown 转换为 HTML 页面。

  但是,对于一个 HTML 页面来说,它必须有标题、样式、日期等,甚至是一些根据 文章 动态变化的内容。这些不仅仅是将 Markdown 转换为 HTML。很多内容需要在 Markdown 文件中指定。

  另一个注意事项:虽然 Jekyll 在 Github Pages 中是免费的,但它实际上是一个完全独立的产品。可以在任何地方使用,就像 Wordpress 一样。安装 Jekyll

  安装 Jekyll 需要使用 Ruby 的包管理器 gem 下载它,比如 Python 的 pip:

  $ gem install jekyll

  但是如果机器的gem版本不够新,就无法安装jekyll,所以根据官网从ruby从头安装:

  sudo apt-get install ruby ruby-dev build-essential

echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc

echo 'export GEM_HOME=$HOME/gems' >> ~/.bashrc

echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.bashrc

source ~/.bashrc

gem install jekyll bundler

  用 Jekyll 创建一个网站(自动生成一个名为 test_blog 的文件夹和一个完整的Demo网站):

  $ jekyll new test_blog

  目录内容如下:

  

  这里有一个完整的网站,可以直接运行浏览。

  然后可以在此基础上根据自己的主页、其他网页等进行修改。

  Jekyll new 时发送错误:Bundler: ruby​​: No such file or directory

  我从来没有在我的 Mac 上做过任何 Ruby 项目,而且我不知道如何使用 gems。全部原配置后,使用 gem install jekyll 是没有问题的,但是当 jekyll new .. 时,它会发送这个错误:

  Bundler: ruby: No such file or directory -- /usr/local/lib/ruby/gems/2.5.0/gems/bundler-1.16.1/exe/bundle (LoadError)

  报错后生成项目文件夹,但不完整,无法执行。

  问题是这台机器的gem和bundler不是很新,需要更新。

  参考:

  更新如下:

  # Install latest version of Rubygems

gem update --system

# Install latest version of bundler system-wide

gem install bundler

  更新时间会很长。全部安装好之后就可以正常使用jekyll了。

  生成网站

  渲染网站

  $ cd test_blog

$ jekyll serve

  或实时渲染网站:

  $ jekyll server --watch

  如果加上 --watch 参数,jekyll 会实时监控你的文件。只要文件发生变化,比如添加markdown文件或者修改布局模板,就会实时渲染生成网站。不断更新。

  运行渲染命令后,jekyll 会根据指定的模板将你的 Markdown 渲染为静态 网站,

  同时,它也会将网站映射到本机的一个端口。可以打开命令行提示的url链接查看网站的效果。

  

  允许公共网络访问

  如果 jekyll 部署在公网的服务器上,很容易暴露给所有人。

  语法如下:

  $ jekyll serve --detach --host 0.0.0.0

# 或

$ jekyll serve --force_polling -H 0.0.0.0 -P 4000

  然后会显示如下:

  

  也就是说,如果公网运行jekyll,程序就会去后台。如果需要退出,需要手动关闭进程。

  然后根据网站设计时指定的端口,在服务器防火墙上相应打开该端口,如4000。

  然后使用服务器IP:4000访问它。

  如果要不带端口号访问,在_config.yml中将端口号设计为80。(但经常有需要解决的冲突)

  Jekyll 工作流程 工作流程

  使用 Jekyll,主要难点在开始,需要设计网页样式,设置整个网站的规则等等。

  但是一旦完成了这些基本设置,以后的更新只需要专注于编写 Markdown 文件即可。

  杰基尔自定义网站

  Jekyll new 命令新建网站 结构后,文件夹中有很多文件。这些文件结构的作用是什么,我们必须学习。

  Jekyll 文件夹结构

  注意:

  Front-Matter 文件头信息

  文件头信息在这里称为front-matter,或者yml-header,是写在每个Markdown文件头中的设置信息。主要是表示这个文章的标题、日期、使用的模板、样式、标签、类别等,以便Jekyll根据这些设置将markdown文件转换成你想要的最终HTML页面。

  

  头信息常用参数如下:

  "Real" 获取 Jekyll 生成的静态网站

  Jekyll 存在的最终目标和重点是生成静态 网站。

  但,

  默认情况下,不能直接打开所谓生成的静态HTML页面查看效果!你必须运行 jekyll serve,或者把它放在 Github Repo 中。

  静态 网站 还叫什么?!

  真正的静态网站不是生成HTML,而是让你双击打开HTML,在浏览器中看到效果。

  为了避免这种有点矛盾的逻辑,我们有更方便的外部工具来做到这一点。

  那是最常用的 wget 下载命令。

  wget可以下载网页或者整个网站,并且可以自动转换各种文件中的路径。

  命令如下:

  $ wget -r --convert-links

  所以当你运行 Jekyll serve 成功编译生成 _site 目录后,就可以使用 wget 下载本地的网站了。

  杰基尔的经历

  目前的体验极差:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线