Set up Hyde on CentOS 7
Hyde is a static website generator, much like its alternatives, such as Jekyll. It uses Markdown to generate its pages, and can run on a 768MB Vultr instance for a site with moderate traffic.
If this is something you'd like to install, please continue to the first step.
#Step 1: Installing the dependencies
The commands in this article require root access. If you aren't already logged on as the root user, do so now.
CentOS 7 ships with Python, so we don't need to worry about that for now. However, it does not give us access to the Pip package manager, so we'll install that now.
Pip is not included in the default yum repositories, so let's get the required sources:
yum install epel-release -y
Then, let's download and install Pip.
yum install python-pip -y
Good job! Now, let's install Nginx to proxy requests to Hyde.
yum install nginx -y
We'll return to Nginx later, when we're ready to configure it.
#Step 2: Installing and configuring Hyde
Run the following command to install Hyde. It will also install any Python dependencies of Hyde.
pip install hyde
Now, let's get things ready for our new website.
mkdir -p /var/www/html
cd /var/www/html
This will generate our first site:
hyde -s /var/www/html create
hyde gen
Let's give Nginx ownership of the files within the /var/www/html
directory:
chown nginx:nginx /var/www/html
#Step 3: Configuring Nginx
Now that we've finished installing Hyde, we can return to Nginx and finish configuring it.
Open up your favourite text editor to /etc/nginx/nginx.conf
. Comment out lines 38-57 by adding a pound symbol (#
) before the lines. Save it, then open up your text editor to /etc/nginx/conf.d/hyde.conf
and paste the following configuration:
server {
listen 80 default_server;
root /home/hydeblog/website/deploy;
index index.html index.htm;
# Specify your domain name where the underscore is. If you don't want to associate one right now, you can leave the underscore.
server_name _;
}
This should do it. Now, let's have Nginx start on it's own:
systemctl enable nginx
Finally, restart Nginx:
systemctl restart nginx
#Managing webpages
Head over to the /var/www/html/content
directory whenever you want to add/remove/edit pages. Every time you manipulate pages, make sure you run hyde gen
from this folder to refresh the cache.
An excellent example of Markdown syntax can be found on GitHub.
For this article, here is an example:
Hello, world!
==============
##Sample list:
1. Apples
2. Oranges
[Back to top](#)
This is what it'll look like once converted:
Hello, world
Sample list:
- Apples
- Oranges
Remember to save any created web pages as filename.yaml
. It is important that the extension is .yaml
so that Hyde will convert it into HTML when you refresh the cache.
#Conclusion
In conclusion, you learned how to set up your own Hyde blog. When using Hyde, you will find that Hyde uses minimal resources and is a very extendible platform.