Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dpbriggs/dpbriggs-blog
My personal website and blog, written in Rust, Tera, and Bootstrap.
https://github.com/dpbriggs/dpbriggs-blog
blog bootstrap org-mode rocket rust tera
Last synced: about 1 month ago
JSON representation
My personal website and blog, written in Rust, Tera, and Bootstrap.
- Host: GitHub
- URL: https://github.com/dpbriggs/dpbriggs-blog
- Owner: dpbriggs
- License: gpl-3.0
- Created: 2019-02-03T18:49:34.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-11T18:53:40.000Z (over 1 year ago)
- Last Synced: 2024-09-27T07:23:08.043Z (about 2 months ago)
- Topics: blog, bootstrap, org-mode, rocket, rust, tera
- Language: Rust
- Homepage: https://dpbriggs.ca
- Size: 533 KB
- Stars: 25
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+AUTHOR: David Briggs
* dpbriggs.ca
[[https://travis-ci.org/dpbriggs/dpbriggs-blog.svg?branch=master][https://travis-ci.org/dpbriggs/dpbriggs-blog.svg?branch=master]]This repository holds my personal website [[https://dpbriggs.ca][dpbriggs.ca]].
Feel free to fork and modify this website. Please note this website
is under GPLv3 so be sure to keep the license and attribute.Built with:
- [[https://rocket.rs/][Rocket]] 🚀 (Rust Web Framework)
- [[https://github.com/Keats/tera][Tera]] (Fast templating language/engine, similar to Jinja2)
- [[https://getbootstrap.com/][Bootstrap]] (CSS framework)** Running the website locally (development)
Running the website locally is pretty easy, thanks to =cargo= and =rustup=.
1. Be sure you have [[https://rustup.rs/][rustup]] to install a nightly toolchain.
2. Install a nightly toolchain =rustup toolchain add nightly=
3. Set nightly as your default toolchain =rustup default nightly=
4. Clone and enter the project =git clone [email protected]:dpbriggs/dpbriggs-blog.git && cd dpbriggs-blog=
5. Run the project =cargo run=
6. (optional) rename the project (replace =myname= with whatever you want):
- =mv dpbriggs-blog myname-blog=
- Edit =Cargo.toml= and change instances of =dpbriggs= in there to =myname=
- Edit =src/context.rs= and update the default site context.Alternatively, use the make file:
#+begin_example
make watch # live-reload
make test # run tests
#+end_example** Deploying the website
As is tradition, we need several ways to build the website.
The server which runs my website is running a stable version of Ubuntu, and my arch system
has a relatively new version of Glibc. It's no longer possible for me to run =make_package.sh=
and upload the artifacts.So I added a quick docker container which will generate the build artifacts.
*** Using docker
To build the container:
#+begin_example
cd docker
docker build . -t blog-maker
#+end_exampleThis will setup a container with rust running ubuntu 18.04.
To generate a build artifact:
#+begin_example
docker run --rm -v ~/programming/dpbriggs-blog:/source blog-maker
#+end_exampleThis will output something like:
#+begin_example
... rust build stuff ...
Created project archive dpbriggs-blog-Aug-15-2021-06-47PM.zip in current directory.
Simply copy to server, unzip, and use:
systemctl --user restart run_site run_caddy
#+end_exampleIf this succeeds, you'll have a new artifact that looks like =dpbriggs-blog-Aug-15-2021-06-47PM.zip= in the repo root.
*NOTE*: This zip only builds off of the latest committed master. Some files, like =.caddy-env= will need to be copied onto the server normally.
** Attribution
- [[https://github.com/highlightjs/highlight.js/blob/main/LICENSE][highlight.js]]
- [[https://github.com/twbs/bootstrap/blob/v4.2.1/LICENSE][Bootstrap]]
- [[https://github.com/thomaspark/bootswatch/blob/v5/LICENSE][Bootstrap slate]]