77 lines
2.8 KiB
Markdown
77 lines
2.8 KiB
Markdown
+++
|
|
title = "HOW-TO: A super simple blog"
|
|
+++
|
|
|
|
|
|
Someone recently asked me how they can setup a blog. They are a Linux user, so I am (ab)using that to craft a really simple **writing** process for blogging.
|
|
The setup is a little bit technically inclined, but I am hoping this is easy enough to follow
|
|
|
|
|
|
Lets begin...
|
|
|
|
## Tech stack
|
|
[Codeberg pages](https://codeberg.page) for hosting our website
|
|
|
|
[Xlog](https://xlog.emadelsaid.com) for generating a pre-styled and fairly simple blog, with a lot of automatic features
|
|
|
|
|
|
## Directory structure
|
|
|
|
| File | Usage |
|
|
| --- | --- |
|
|
| `blog/xlog` | Generates the blog |
|
|
| `blog/build-and-upload.sh` | Uses `xlog` and then uploads blog to site |
|
|
| `blog/index.md` | Website Homepage (required!) |
|
|
| `blog/a_blog_post.md` | An example blog file |
|
|
| `blog/another_blog_post.md` | Another example blog file |
|
|
| `blog/public/` | Generated html; uploaded to Codeberg pages |
|
|
|
|
## Setting up
|
|
1. Make a [codeberg.org](https://codeberg.org) account - choose a username for desired "USERNAME.codeberg.page" website
|
|
2. Make a new repository called `pages` using the plus button next to your profile picture
|
|
3. Make a folder on your pc for your blog
|
|
4. In that folder... down and extract [github.com/emad-elsaid/xlog/releases/latest](https://github.com/emad-elsaid/xlog/releases/latest)
|
|
1. Probably want `xlog-linux-amd64.tar.gz`
|
|
2. You only need the `xlog` binary from here
|
|
5. Make a file called `build-and-upload.sh` with the following contents:
|
|
- ```sh
|
|
#!/bin/bash
|
|
|
|
cd "$(dirname "$0")"
|
|
./xlog -build public
|
|
|
|
cd public
|
|
git add .
|
|
git commit -m "Update blog"
|
|
git push -u origin main
|
|
```
|
|
- This script turns your blog posts into website code and then uploads it to codeberg
|
|
6. Make `build-and-upload.sh` executable, normally under rightclick->properties
|
|
7. Getting an access token (so we can upload without signing in)
|
|
1. Go to [codeberg.org/user/settings/applications](https://codeberg.org/user/settings/applications)
|
|
2. Type in a name for your token... e.g. "blog upload"
|
|
3. Under "Select permissions", set "repository" to "Read and Write"
|
|
4. Press "Generate Token"
|
|
5. Copy the token
|
|
8. Setup your pages folder...
|
|
1. Right click inside your blog folder and "open in terminal"
|
|
2. Run `git init`
|
|
3. Run `git checkout -b main`
|
|
4. Run `git remote add origin https://YOUR_TOKEN@codeberg.org/YOUR_USERNAME/pages.git`
|
|
9. We are setup!
|
|
10. Bonus: Make an application menu entry for upload with something like PinApp. Set the executable to your `build-and-upload.sh` file
|
|
|
|
## Writing process
|
|
Write markdown files (i.e. in beaver notes) and put them in your blog folder
|
|
|
|
Then run your `build-and-upload.sh` script
|
|
|
|
All your change will be at [USERNAME.codeberg.page](https://USERNAME.codeberg.page)
|
|
|
|
</br>
|
|
|
|
> Note: Remember to write your homepage file `index.md`
|
|
|
|
## Conclusion
|
|
|
|
Happy blogging!! |