diff --git a/source/_posts/caddy-nixos-part-1.md b/source/_posts/caddy-nixos-part-1.md index 42ff23f..ee7e7e4 100644 --- a/source/_posts/caddy-nixos-part-1.md +++ b/source/_posts/caddy-nixos-part-1.md @@ -100,22 +100,22 @@ nixos-generate-config --root /mnt 6. I replaced the generated "configuration.nix" with my own "configuration.nix". Before uploading the config to the server, I did the following change, - 1. Replace "/dev/sda" with "/dev/vda" in `boot.loader.grub.device` - 2. Replace "eth0" to "ens3" in firewall config (check output of `ifconfig`) - 3. Encrypt the file using 7zip before upload. + 1. Replace "/dev/sda" with "/dev/vda" in `boot.loader.grub.device` + 2. Replace "eth0" to "ens3" in firewall config (check output of `ifconfig`) + 3. Encrypt the file using 7zip before upload. - ``` sh - # This is much less memory-intensive than `nix-env -i package` - # wormhole-william is Go-implementation of magic-wormhole - # Available in 20.09+ - nix-env -f '' -iA google-authenticator p7zip usbguard wormhole-william + ``` sh + # This is much less memory-intensive than `nix-env -i package` + # wormhole-william is Go-implementation of magic-wormhole + # Available in 20.09+ + nix-env -f '' -iA google-authenticator p7zip usbguard wormhole-william - cd /tmp - wormhole-william receive configuration.7z - 7z x configuration.7z + cd /tmp + wormhole-william receive configuration.7z + 7z x configuration.7z - cp configuration.nix /mnt/etc/nixos/ - ``` + cp configuration.nix /mnt/etc/nixos/ + ``` 7. Install it without setting root password (so that root remains disabled) diff --git a/source/_posts/cloudflare-hsts.md b/source/_posts/cloudflare-hsts.md index 42f8c47..38546ef 100644 --- a/source/_posts/cloudflare-hsts.md +++ b/source/_posts/cloudflare-hsts.md @@ -13,12 +13,12 @@ HTTP Strict Transport Security ([HSTS](https://developer.mozilla.org/en-US/docs/ 1. Serve a valid certificate. 2. Redirect from HTTP to HTTPS on the **same host**, if you are listening on port 80. (see [next section](#Redirect)) 3. Serve all subdomains over HTTPS. - 1. In particular, you must support HTTPS for the **www** subdomain if a DNS record for that subdomain exists. + 1. In particular, you must support HTTPS for the **www** subdomain if a DNS record for that subdomain exists. 4. Serve an HSTS header on the base domain for HTTPS requests: - 1. The max-age must be at least 31536000 seconds (1 year). - 2. The includeSubDomains directive must be specified. - 3. The preload directive must be specified. - 4. If you are serving an additional redirect from your HTTPS site, that redirect must still have the HSTS header (rather than the page it redirects to). + 1. The max-age must be at least 31536000 seconds (1 year). + 2. The includeSubDomains directive must be specified. + 3. The preload directive must be specified. + 4. If you are serving an additional redirect from your HTTPS site, that redirect must still have the HSTS header (rather than the page it redirects to). In actual implementation, a website must have the following header to meet above requirements: diff --git a/source/_posts/hexo-blog-github.md b/source/_posts/hexo-blog-github.md index aca9ac0..c1655d1 100644 --- a/source/_posts/hexo-blog-github.md +++ b/source/_posts/hexo-blog-github.md @@ -45,20 +45,20 @@ deploy: ``` 10. You can start writing a new post straightaway without [installing](#Installation) Hexo. You still need to change the blog's name and favicon though ([how-to](#naming)). - 1. To create a new post (through [GitHub.com](https://help.github.com/en/articles/creating-new-files)), create a new `.md` file in `source/_posts` folder. - 2. Start with the following header/[front-matter](https://hexo.io/docs/front-matter): + 1. To create a new post (through [GitHub.com](https://help.github.com/en/articles/creating-new-files)), create a new `.md` file in `source/_posts` folder. + 2. Start with the following header/[front-matter](https://hexo.io/docs/front-matter): - ``` - --- - title: Test page - date: yyyy-mm-dd hh:mm:ss - tags: - categories: - --- - ``` + ``` + --- + title: Test page + date: yyyy-mm-dd hh:mm:ss + tags: + categories: + --- + ``` - 3. Write your post after the second `---` using [Markdown](https://guides.github.com/features/mastering-markdown/) [style](https://help.github.com/articles/basic-writing-and-formatting-syntax/). - 4. Save the file by clicking on "Commit changes". + 3. Write your post after the second `---` using [Markdown](https://guides.github.com/features/mastering-markdown/) [style](https://help.github.com/articles/basic-writing-and-formatting-syntax/). + 4. Save the file by clicking on "Commit changes". 11. After you create a new post, the website can be accessed on *username*.github.io. Check your repo settings, under the GitHub Pages, make sure the Source is `gh-pages` branch. Read on if you prefer to manage the blog from your workstation. ## Installation @@ -89,6 +89,7 @@ $ git push -u 8. If there is no error, the generated website can be accessed on *username*.github.io ## Writing + 1. Create a new post (using Hexo) ``` bash diff --git a/source/_posts/how-to-create-a-hexo-blog.md b/source/_posts/how-to-create-a-hexo-blog.md index 231c331..f4301cf 100644 --- a/source/_posts/how-to-create-a-hexo-blog.md +++ b/source/_posts/how-to-create-a-hexo-blog.md @@ -20,20 +20,20 @@ Create a website/blog using Hexo on [GitLab Pages](https://about.gitlab.com/feat 4. Change project website to a user website. This is so that the website's home page is *username*.gitlab.io, instead of username.gitlab.io/hexo. Go to `Settings -> General -> Advanced -> Change path`. Change the value to *username*.gitlab.io, where username is your username on GitLab. 5. You can start writing a new post straight away without [installing](#Installation) Hexo. You still need to change the blog's name and favicon though ([how-to](#Naming)). - 1. To create a new post (through GitLab.com), create a new `.md` file in `source/_posts` folder. - 2. Start with the following header/[front-matter](https://hexo.io/docs/front-matter): + 1. To create a new post (through GitLab.com), create a new `.md` file in `source/_posts` folder. + 2. Start with the following header/[front-matter](https://hexo.io/docs/front-matter): - ``` yml _posts/test-page.md - --- - title: Test page - date: yyyy-mm-dd hh:mm:ss - tags: - categories: - --- - ``` + ``` yml _posts/test-page.md + --- + title: Test page + date: yyyy-mm-dd hh:mm:ss + tags: + categories: + --- + ``` - 3. Write your post after the second `---` using [Markdown](https://about.gitlab.com/handbook/product/technical-writing/markdown-guide/) [style](https://docs.gitlab.com/ee/user/markdown.html). - 4. Save the file by clicking on "Commit changes". + 3. Write your post after the second `---` using [Markdown](https://about.gitlab.com/handbook/product/technical-writing/markdown-guide/) [style](https://docs.gitlab.com/ee/user/markdown.html). + 4. Save the file by clicking on "Commit changes". 6. After you create a new post, the website can be accessed on *username*.gitlab.io or the link shown on your project `Settings -> Pages`. Read on if you prefer to manage the blog from your workstation. ## Installation @@ -62,10 +62,10 @@ $ git push -u ``` 7. The generated `public` and `node_modules` are [ignored](https://gitlab.com/curben/blog/blob/master/.gitignore), as CI will generate them during build. - 1. I have migrated to [Netlify](https://www.netlify.com/) and removed my GitLab page. - 2. Since I don't have a gitlab page any more, I removed the deploy command in the `.gitlab-ci.yml`. - 3. The config now has two parts. To use in gitlab page, simply uncomment the second part and comment out the first part. - 4. Make sure you {% post_link validity-gitlab-ci-config 'double-check' %} the CI config before you push. + 1. I have migrated to [Netlify](https://www.netlify.com/) and removed my GitLab page. + 2. Since I don't have a gitlab page any more, I removed the deploy command in the `.gitlab-ci.yml`. + 3. The config now has two parts. To use in gitlab page, simply uncomment the second part and comment out the first part. + 4. Make sure you {% post_link validity-gitlab-ci-config 'double-check' %} the CI config before you push. 8. Check the build status by going to your project `CI /CD -> Pipelines`. Due to the limitation of `hexo`, the build will always pass even when there is error. Check the Jobs log, look for any error after `$ hexo deploy`. 9. If there is no error, the generated website can be accessed on `.gitlab.io/` or the link shown on your project `Settings -> Pages`. diff --git a/source/_posts/how-to-remove-windows-10-default-apps.md b/source/_posts/how-to-remove-windows-10-default-apps.md index e0e4561..722980b 100644 --- a/source/_posts/how-to-remove-windows-10-default-apps.md +++ b/source/_posts/how-to-remove-windows-10-default-apps.md @@ -35,7 +35,7 @@ Stop included games like Candy Crush and Minecraft to reappear after you remove ## Uninstall all preinstalled apps This is the easiest method to remove all preinstalled apps. Note: this will remove **ALL** apps listed at the next [section](#Uninstall-specific-preinstalled-app). 1. Launch PowerShell as administrator (right click `Run as administrator`). - 1.1. Windows 10 Home user might not have it, install [here](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-powershell-core-on-windows?view=powershell-6). + 1.1. Windows 10 Home user might not have it, install [here](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-powershell-core-on-windows?view=powershell-6). 2. Run the following command: ``` Get-AppxPackage -AllUsers | Remove-AppxPackage @@ -55,8 +55,9 @@ For example to remove 3D Builder, Get-AppxPackage *3dbuilder* | Remove-AppxPackage ``` + App name | Package name ----|--- +--- | --- 3D Builder | 3dbuilder 3D Viewer | 3dviewer Alarms and Clock¹ | windowsalarms @@ -85,6 +86,7 @@ Wallet | wallet Weather | bingweather Xbox | xboxapp Your Phone | yourphone + ¹ These are *not* the time and date view you get at the bottom right. Safe to remove. ² This is a full-screen/[UWP](https://en.wikipedia.org/wiki/Universal_Windows_Platform_apps) image viewer. Safe to remove. ³ You might need it. Safe to remove if you don't.