介绍
Sculpin是一个基于PHP的静态网站生成器。 它将Twig或HTML模板与markdown中写的内容一起转换为易于部署的静态站点。
在本教程中,我们将在运行Ubuntu 12.04的VPS上安装Sculpin,并开始使用它。 我们将看到如何从头开始一个项目,如何生成静态文件,以及如何使用其内部Web服务器将文件传送到浏览器。 此外,我将向您展示如何开始使用内置在Sculpin中的预制博客网站,并向其添加新的博文。
安装
我们需要做的第一件事是照顾我们以后需要的一些要求。 因此,运行以下命令来安装它们。 如果你已经有了它们,你可以从命令中删除它们。
apt-get update
apt-get install php5-common php5-cli git-core php5-curl
然后我们下载Sculpin PHP可执行文件(.phar文件):
curl -O https://download.sculpin.io/sculpin.phar
接下来,我们需要使其可执行:
chmod +x sculpin.phar
现在为了从我们的虚拟服务器上的任何文件夹运行Sculpin,让我们把它移动到/ bin文件夹:
mv sculpin.phar ~/bin/sculpin
如果您还没有在用户的根文件夹中有/ bin文件夹,请继续创建它。 最后,让我们将它添加到bash。 打开.bashrc文件:
nano ~/.bashrc
并粘贴到以下行:
PATH=$PATH:$HOME/bin
然后运行下面的命令来源.bashrc
文件,并确保您的更改坚持:
source ~/.bashrc
这应该做。 为了测试该命令起作用,运行刚刚从任何文件夹(命令杜父鱼sculpin
),你应该得到的命令终端Sculpin帮助。
您的第一个Sculpin网站
关于Sculpin的一个问题是它有一个内置的web服务器能够提供其网页的网页。 为了看到这一点,让我们在用户的根文件夹而不是Apache根目录中创建我们的简单网站。 让我们从我们的第一个项目文件夹开始:
mkdir mysite
cd mysite
mkdir source
cd source
现在我们有了项目文件夹(mysite /)和另一个文件夹(source /)。 后者是您将放置网站内容的位置。 所以,让我们在那里创建一个简单的Hello World的事情。 在/ source文件夹中创建一个index.md文件,并粘贴以下内容:
---
---
# Hello World
与我们正在编写的Hello World的格式被称为降价及以上的线路是YAML格式。 欲了解更多有关降价的语法,检查这个页面 。 保存文件,退出,回到mysite /文件夹并运行以下命令:
sculpin generate --watch --server
这将生成您的开发网站。 观察内容中的当前更改,以防您对文件进行某些更新并创建文件夹以通过服务器端口提供文件。 所以现在你可以访问您的网站在ip-address:8000。 您应该看到的Hello World在标题标签之间打印的页面上。 要停止服务器(如终端中提到的),只需运行CTRL + C.
你会注意到,在mysite /文件夹中,现在有另一个名为output_dev /的文件夹,其中存储等效的html文件。 要生成生产文件,添加--env=prod
标签的大头鱼产生的命令:
sculpin generate --watch --server --env=prod
这将生成output_prod /文件夹和里面的必要文件。 然后,您可以将此文件夹与Apache同步,以便可以使用正确的服务器将网站页面传送到浏览器。 让我们快速看看如何做到这一点。
假设您希望该站点可以从Apache的默认/ var / www /文件夹(Web服务器根目录)访问,您可以执行以下操作。 导航到output_prod /文件夹:
cd output_prod
并运行下面rsync
命令将文件从这里到/ var / www文件夹同步:
rsync -azv * /var/www
现在,您可以直接访问该站点转到您的VPS IP地址(如果您没有更改任何虚拟主机配置)。 只要对网站进行任何更改并生成新的html文件,只需从同一个文件夹运行此命令即可。
枝和布局
Sculpin使用Twig作为其布局,这是一个功能强大的PHP模板系统。 有关于嫩枝上的介绍性文章DigitalOcean 。 正如我们所看到的,在页面上打印的内容位于源/文件夹中 - 这是您以markdown编写的内容。 让我们现在创建一个布局,其中将插入index.md文件内容。
里面的源/文件夹,创建一个文件夹,名为_views(命名是最佳实践之类的话):
mkdir _views
此文件夹中,创建一个名为main.html中的文件。 在这里,我们可以声明所有的主页HTML,我们将需要+ Twig内容块,将渲染我们的网站内容。 例如,粘贴在以下内容中:
<html>
<head><title>My first Sculpin site</title></head>
<body><div class="content">{% block content %}{% endblock %}</div></body>
</html>
现在编辑我们之前创建的index.md文件,而不是这样:
---
---
# Hello World
粘贴此:
---
layout: main
---
# Hello World
现在,如果你再次运行sculpin命令(你现在可以离开手表):
sculpin generate --server
你应该看到,你写的markdown文件(index.md)被自动注入我们在main.html模板中定义的Twig内容块,因为我们在文件的顶部做了YAML声明。 整齐。
测试的博客
如果你想更多地了解你可以用Sculpin做什么,你应该得到Sculpin博客骨架,可以帮助你更好地了解它的工作原理。 你可以使用git:
cd ~
git clone https://github.com/sculpin/sculpin-blog-skeleton.git blog
cd blog
现在我们需要Sculpin使用Composer安装项目依赖项。 所以只需运行以下命令:
sculpin install
接下来,你可以运行sculpin generate
功能的服务器选项并返回到浏览器中看到刚刚创建的博客网站。 然后,您可以探索组成博客的文件,并查看它们如何协同工作。 此外,您可以向博客添加新帖子。 转到_posts /文件夹:
cd source/_posts
并创建一个新文件:
nano 2020-02-07-my-post.md
粘贴以下内容并保存:
---
title: My post
---
# Hello world.
然后继续并再次生成并查看博客。 你会看到你的新职位。
结论
Sculpin是一个有趣的静态网站生成器,使用markdown快速内容格式化和Twig的真棒模板,让您轻松部署静态网站。 我们已经看到了一个项目是什么样子,如何开始,以及一个已经创建的博客网站用Sculpin构建的样子。