Switch over to WebAssembly, Rust and Yew #35

Merged
BlakeRain merged 87 commits from yew-static into main 2023-08-30 18:01:40 +00:00
3 changed files with 62 additions and 45 deletions
Showing only changes of commit ccb7976fdc - Show all commits

View File

@ -641,14 +641,16 @@ Preparing memory for use with DMA may seem a bit more complex than necessary. As
I hope that this post may be of some use to those of you that need to communicate memory with devices connected to the PCI bus. You can find the complete listing as a GitHub gist: I hope that this post may be of some use to those of you that need to communicate memory with devices connected to the PCI bus. You can find the complete listing as a GitHub gist:
<Bookmark ```bookmark
url="https://gist.github.com/BlakeRain/354a21571fa9dfe432b46b833ccec595" title: Allocation of hugepages for DMA in Linux
title="Allocation of hugepages for DMA in Linux" url: "https://gist.github.com/BlakeRain/354a21571fa9dfe432b46b833ccec595"
description="Allocation of hugepages for DMA in Linux. GitHub Gist: instantly share code, notes, and snippets." description: |
author="262588213843476" Allocation of hugepages for DMA in Linux. GitHub Gist: instantly share code, notes, and snippets.
publisher="Gist" author: Blake Rain
thumbnail="https://github.githubassets.com/images/modules/gists/gist-og-image.png" publisher: GitHub Gist
icon="https://github.githubassets.com/favicons/favicon.svg" /> thumbnail: "https://github.githubassets.com/images/modules/gists/gist-og-image.png"
icon: "https://github.githubassets.com/favicons/favicon.svg"
```
<small> <small>
Cover image courtesy of Harrison Broadbent (<a href="https://unsplash.com/@harrisonbroadbent?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">@harrisonbroadbent</a>) on unsplash. Cover image courtesy of Harrison Broadbent (<a href="https://unsplash.com/@harrisonbroadbent?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">@harrisonbroadbent</a>) on unsplash.

View File

@ -23,14 +23,17 @@ See here for adding search: [https://blakerain.com/blog/adding-search-to-ghost](
I've used [Ghost](https://ghost.org) to create this website. Ghost is a CMS, written in JavaScript, that provides a nice set of features without seeming to be too bloated. I've used [Ghost](https://ghost.org) to create this website. Ghost is a CMS, written in JavaScript, that provides a nice set of features without seeming to be too bloated.
<Bookmark ```bookmark
url="https://ghost.org" url: "https://ghost.org"
title="Ghost: The #1 open source headless Node.js CMS" title: "Ghost: The #1 open source headless Node.js CMS"
description="The worlds most popular modern open source publishing platform. A headless Node.js CMS used by Apple, Sky News, Tinder and thousands more. MIT licensed, with 30k+ stars on Github." description: |
author="Albert Henk van Urkalberthenk.com" The worlds most popular modern open source publishing platform. A headless Node.js CMS used by
publisher="Ghost" Apple, Sky News, Tinder and thousands more. MIT licensed, with 30k+ stars on Github.
thumbnail="https://ghost.org/images/meta/Ghost.png" publisher: Ghost
icon="https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5" /> author: "Albert Henk van Urkalberthenk.com"
thumbnail: "https://ghost.org/images/meta/Ghost.png"
icon: "https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5"
```
Apart from it's small size and not being built in PHP, some of the features that attracted me to Ghost are: Apart from it's small size and not being built in PHP, some of the features that attracted me to Ghost are:
@ -46,14 +49,17 @@ Apart from it's small size and not being built in PHP, some of the features that
For the most part, installation of Ghost required following the instructions on the Ghost website. I roughly followed the guide for Ubuntu, as that is the distribution I chose: For the most part, installation of Ghost required following the instructions on the Ghost website. I roughly followed the guide for Ubuntu, as that is the distribution I chose:
<Bookmark ```bookmark
url="https://ghost.org/docs/install/ubuntu/" url: "https://ghost.org/docs/install/ubuntu/"
title="How to install & setup Ghost on Ubuntu 16.04 + 18.04" title: "How to install & setup Ghost on Ubuntu 16.04 + 18.04"
description="A full production install guide for how to install the Ghost professional publishing platform on a production server running Ubuntu 16.04 or 18.04." description: |
author="Ghost" A full production install guide for how to install the Ghost professional publishing platform on
publisher="Ghost" a production server running Ubuntu 16.04 or 18.04.
thumbnail="https://ghost.org/images/meta/Ghost-Docs.jpg" author: Ghost
icon="https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5" /> publisher: Ghost
thumbnail: "https://ghost.org/images/meta/Ghost-Docs.jpg"
icon: "https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5"
```
To deploy Ghost I first created an AWS instance with Ubuntu 18.04 and attached an EIP to it. I used an EIP in case I needed to replace the instance (such as if it entered a degraded state), or I wanted to use an ELB or some other magic. I configured the security group for the instance's sole network interface to allow SSH from my own IP along with HTTP and HTTPS from anywhere else: To deploy Ghost I first created an AWS instance with Ubuntu 18.04 and attached an EIP to it. I used an EIP in case I needed to replace the instance (such as if it entered a degraded state), or I wanted to use an ELB or some other magic. I configured the security group for the instance's sole network interface to allow SSH from my own IP along with HTTP and HTTPS from anywhere else:
@ -104,24 +110,30 @@ Once the site was private I felt more confident playing around with the Ghost se
There are a lot of integrations that can work with Ghost, which are listed on the Ghost website: There are a lot of integrations that can work with Ghost, which are listed on the Ghost website:
<Bookmark ```bookmark
url="https://ghost.org/integrations/" url: "https://ghost.org/integrations/"
title="Ghost Integrations Connect your favourite Tools & Apps to your site" title: "Ghost Integrations Connect your favourite Tools & Apps to your site"
description="Keep your stack aligned and integrate your most used tools & apps with your Ghost site: automation, analytics, marketing, support and much more! 👉" description: |
publisher="Ghost" Keep your stack aligned and integrate your most used tools & apps with your Ghost site:
thumbnail="https://ghost.org/images/meta/Ghost-Integrations.jpg" automation, analytics, marketing, support and much more! 👉
icon="https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5" /> publisher: Ghost
thumbnail: "https://ghost.org/images/meta/Ghost-Integrations.jpg"
icon: "https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5"
```
I've really only used the built-in [Unsplash](https://ghost.org/integrations/unsplash/) integration along with [Commento](https://ghost.org/integrations/commento/) to provide embedded comment threads. I've really only used the built-in [Unsplash](https://ghost.org/integrations/unsplash/) integration along with [Commento](https://ghost.org/integrations/commento/) to provide embedded comment threads.
After messing around with the tags, routing and other settings it was time to settle on a theme. Ghost has a large set of themes available on their [marketplace](https://ghost.org/marketplace/), many of which are free to use if you're so inclined. After messing around with the tags, routing and other settings it was time to settle on a theme. Ghost has a large set of themes available on their [marketplace](https://ghost.org/marketplace/), many of which are free to use if you're so inclined.
<Bookmark ```bookmark
url="https://ghost.org/marketplace/" url: "https://ghost.org/marketplace/"
title="Ghost Themes - The Marketplace" title: "Ghost Themes - The Marketplace"
description="Discover beautiful professional themes for the Ghost publishing platform. Custom templates for magazines, blogs, news websites, content marketing & more!" description: |
author="Ghost" Discover beautiful professional themes for the Ghost publishing platform. Custom templates for
icon="https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5" /> magazines, blogs, news websites, content marketing & more!
author: Ghost
icon: "https://ghost.org/icons/icon-512x512.png?v=188b8b6d743c6338ba2eab2e35bab4f5"
```
After much indecision I decided to settle on the default theme for Ghost, which is called [Casper](https://demo.ghost.io). The theme that I am using is actually a slightly modified version. I only made a few minor changes, mostly relating to colors and to add a few custom templates. You can find the sources for my customization here: After much indecision I decided to settle on the default theme for Ghost, which is called [Casper](https://demo.ghost.io). The theme that I am using is actually a slightly modified version. I only made a few minor changes, mostly relating to colors and to add a few custom templates. You can find the sources for my customization here:

View File

@ -143,11 +143,14 @@ Something to note is that this search implementation whilst very simple to i
As mentioned earlier, you can find all the source in the GitHub repository: As mentioned earlier, you can find all the source in the GitHub repository:
<Bookmark ```bookmark
url="https://github.com/BlakeRain/blakerain.com" title: "BlakeRain/blakerain.com"
title="BlakeRain/blakerain.com" url: "https://github.com/BlakeRain/blakerain.com"
description="Repository for the Ghost theme of my blog. Contribute to BlakeRain/blakerain.com development by creating an account on GitHub." description: |
author="BlakeRain" Repository for the Ghost theme of my blog. Contribute to BlakeRain/blakerain.com development by
publisher="GitHub" creating an account on GitHub.
thumbnail="https://avatars2.githubusercontent.com/u/8750438?s=400&v=4" author: BlakeRain
icon="https://github.githubassets.com/favicons/favicon.svg" /> publisher: GitHub
thumbnail: "https://avatars2.githubusercontent.com/u/8750438?s=400&v=4"
icon: "https://github.githubassets.com/favicons/favicon.svg"
```