mirror of
https://github.com/mastermindzh/rickvanlieshout.com
synced 2025-09-10 02:06:19 +02:00
Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
9a2f9ed2aa | |||
5fe2d8e834 | |||
d91730dd8c | |||
ebca5f980d | |||
abc9cdbe26 | |||
99d42b8de4 | |||
c8264125f0 | |||
0c7ee90547 | |||
46ee4fbb90 | |||
03d5cbe5b5 |
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -1,5 +1,8 @@
|
||||
{
|
||||
"cSpell.words": [
|
||||
"disqus",
|
||||
"fontawesome",
|
||||
"fortawesome",
|
||||
"frontmatter",
|
||||
"slsw"
|
||||
],
|
||||
|
14
CHANGELOG.md
14
CHANGELOG.md
@@ -2,6 +2,20 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
### [1.2.2](https://github.com/mastermindzh/rickvanlieshout.com/compare/v1.2.1...v1.2.2) (2023-04-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* .language-text not breaking on mobile ([5fe2d8e](https://github.com/mastermindzh/rickvanlieshout.com/commits/5fe2d8e834a4d7588f04e4a3b1608618253f6d52))
|
||||
|
||||
|
||||
### New content
|
||||
|
||||
* blogpost about flashing lsi 9211 cards ([ebca5f9](https://github.com/mastermindzh/rickvanlieshout.com/commits/ebca5f980d8e1a109494c5db15d2728bcfbc964b))
|
||||
|
||||
### [1.2.1](https://github.com/mastermindzh/rickvanlieshout.com/compare/v1.2.0...v1.2.1) (2023-03-26)
|
||||
|
||||
## [1.2.0](https://github.com/mastermindzh/rickvanlieshout.com/compare/v1.1.0...v1.2.0) (2023-02-14)
|
||||
|
||||
|
||||
|
@@ -37,7 +37,7 @@
|
||||
],
|
||||
"author": {
|
||||
"name": "Rick van Lieshout",
|
||||
"photo": "/me.png",
|
||||
"photo": "/content/me.png",
|
||||
"bio": "I'm a passionate software architect that bifurcates his love between great software development and leading others to learn and adopt new things.",
|
||||
"contacts": {
|
||||
"email": "info@rickvanlieshout.com",
|
||||
|
@@ -66,7 +66,7 @@ Some of these have (official) certificates, some don't, but all have brought val
|
||||
|
||||
- Hiring & interview training ([icm.nl](https://www.icm.nl/opleidingen-en-trainingen/hrm/selectiegesprekken-voeren/))
|
||||
- Conversation techniques & de-escalation ([TIJDwinst.com](https://gesprekstechnieken.com/cursus-gesprekstechnieken/)](<https://gesprekstechnieken.com/cursus-gesprekstechnieken/>)).
|
||||
- Kubernetes
|
||||
- Kubernetes (NobleProg Certification Kubernetes on Azure (AKS), 26 August 2019 - 27 August 2019)
|
||||
- SEEBURGER b2b integration
|
||||
|
||||
## Projects
|
||||
|
92
content/posts/2023/flashing-lsi-9211-with-efi/index.md
Normal file
92
content/posts/2023/flashing-lsi-9211-with-efi/index.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
title: Flashing the LSI-9211 to IT mode using an EFI shell
|
||||
date: "2023-04-12"
|
||||
template: "post"
|
||||
category: "Homelab"
|
||||
tags:
|
||||
- "lsi"
|
||||
- "lsi9211"
|
||||
- "raid card"
|
||||
- "storage"
|
||||
- "SAS2000"
|
||||
- "it mode"
|
||||
description: "Flashing the LSI-9211 used to be way more difficult, luckily the EFI shell makes this task a lot simpler!"
|
||||
socialImage: /media/flash-result.jpg
|
||||
---
|
||||
|
||||
|
||||
I've been building a new storage-oriented server for a while now and have yet again decided to go with (3 +1 backup) LSI 9211 raid controllers.
|
||||
|
||||
The reason I keep going for these specific raid controllers is quite simple. The card can theoretically support (8x500MB) 4GB/s in throughput divided over 8 drives (2x SFF-8087) which is near the maximum for consumer hard drives.
|
||||
|
||||
Using 3 of these will allow me to use 24 drives in a single chassis without an expander whilst getting pretty good performance.
|
||||
The fourth card that I got, and flashed, is simply used as a backup or debug card in case of any errors.
|
||||
|
||||
## Downloading the files
|
||||
|
||||
Before we can start flashing we will need to download some files.
|
||||
The table below lists all the files with a brief description of what we'll use them for.
|
||||
|
||||
| File | Description |
|
||||
| --------------------------------------------------------------- | ------------------------------- |
|
||||
| [EFI flashing utility](https://docs.broadcom.com/docs/12350820) | Flashing utility |
|
||||
| [EFI ROM image](https://docs.broadcom.com/docs/12348628) | Card ROM file |
|
||||
| [SAS2008 Firmware](https://docs.broadcom.com/docs/12350504) | IR and IT firmware for the 9211 |
|
||||
|
||||
## Prepping the flash drive
|
||||
|
||||
Make sure that you have a flash drive that is **32GB** or smaller and that it is formatted as **FAT32**.
|
||||
Next, we'll add the following files to the **root** of the flash drive:
|
||||
|
||||
- `Installer_P20_for_UEFI/sas2flash_efi_ebc_rel/sas2flash.efi`
|
||||
- `UEFI_BSD_P20/uefi_bsd_rel/Signed/x64sas2.efi`
|
||||
- `9210-8i_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows/sasbios_rel/mptsas2.rom`
|
||||
- `9210-8i_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows/Firmware/HBA_9210_8i_IT/2108it.bin`
|
||||
|
||||
## Flashing with EFI
|
||||
|
||||
Because we are going to flash using EFI we don't really need anything besides the built-in EFI shell from our motherboard. Simply insert the flash drive and go into the BIOS or use the "select boot device" functionality to select the EFI shell:
|
||||
|
||||

|
||||
|
||||
After the shell has booted successfully you can use the `map` command to see all available devices. In the image below you'll see that my flash drive is listed as `fs1`:
|
||||
|
||||

|
||||
|
||||
To switch into the drive simply enter the drive name on the command line followed by a semicolon:
|
||||
|
||||
```efi
|
||||
fs1:
|
||||
```
|
||||
|
||||
Next, we'll determine that our adapters are available and we will simultaneously take note of their identifier, we can do so by issuing the following command:
|
||||
|
||||
```efi
|
||||
sas2flash.efi -listall
|
||||
```
|
||||
|
||||

|
||||
|
||||
Next, we can empty the current firmware with the following command:
|
||||
|
||||
```efi
|
||||
sas2flash.efi -o -e 6
|
||||
```
|
||||
|
||||

|
||||
|
||||
Now we'll simply flash the new (IT-mode) firmware on it with the following command:
|
||||
|
||||
```efi
|
||||
sas2flash.efi -o -f 2108it.bin -b mptsas2.rom
|
||||
```
|
||||
|
||||

|
||||
|
||||
Wait patiently until the operations have completed. Note that it might seem like the steps repeat, just wait until it is completely done and exits back to the shell by itself.
|
||||
|
||||
## Multiple cards and conclusion
|
||||
|
||||
You can rerun the commands for different cards (by adding `-c x` where x is the card number from `listall`) or by simply physically switching the current one out for a different one.
|
||||
|
||||
That's all there is too it, if you need any help feel free to hit me up!
|
Binary file not shown.
After Width: | Height: | Size: 2.9 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.4 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.8 MiB |
@@ -7,6 +7,7 @@ tags:
|
||||
- "Lego"
|
||||
- "house"
|
||||
description: "What started as a simple decoration piece to fill some empty space in my home quickly grew into a new hobby of which the remnants can be found throughout my house"
|
||||
socialImage: /media/building-the-owl.jpg
|
||||
---
|
||||
|
||||
## The problem
|
||||
@@ -54,7 +55,7 @@ The result of a few days of work and the Christmas village has been completed:
|
||||
|
||||

|
||||
|
||||
## A new room to build lego
|
||||
## A new room to build Lego
|
||||
|
||||
Now that the Lego virus has taken hold of me I am quickly growing tired of needing to move stuff off my dining table just to build some Legos.
|
||||
Likewise, I dislike having to move half-finished Lego builds just to use my dining table.
|
||||
@@ -94,4 +95,4 @@ I'd like to round off this blog post by showing some of the other builds I've si
|
||||

|
||||
")
|
||||

|
||||

|
||||

|
||||
|
@@ -62,11 +62,10 @@ export default {
|
||||
guid: site.siteMetadata.url + node?.fields?.slug,
|
||||
custom_elements: [{ "content:encoded": node.html }],
|
||||
})),
|
||||
query: `
|
||||
{
|
||||
query: `{
|
||||
allMarkdownRemark(
|
||||
limit: 1000,
|
||||
sort: { order: DESC, fields: [frontmatter___date] },
|
||||
limit: 1000
|
||||
sort: {frontmatter: {date: DESC}}
|
||||
filter: {frontmatter: {template: {eq: "post"}, draft: {ne: true}}}
|
||||
) {
|
||||
edges {
|
||||
@@ -83,8 +82,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
}`,
|
||||
output: "/rss.xml",
|
||||
title: config.title,
|
||||
},
|
||||
@@ -110,7 +108,7 @@ export default {
|
||||
},
|
||||
{
|
||||
resolve: "gatsby-remark-images-medium-zoom",
|
||||
options: { background: "rgb(0, 0, 0,50%)" },
|
||||
options: { background: "rgb(0, 0, 0,70%)" },
|
||||
},
|
||||
"gatsby-remark-autolink-headers",
|
||||
"gatsby-remark-prismjs",
|
||||
@@ -191,6 +189,13 @@ export default {
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
resolve: "gatsby-plugin-react-helmet-canonical-urls",
|
||||
options: {
|
||||
siteUrl: config.url,
|
||||
stripQueryString: true,
|
||||
},
|
||||
},
|
||||
"gatsby-plugin-image",
|
||||
"gatsby-plugin-catch-links",
|
||||
"gatsby-plugin-react-helmet",
|
||||
|
@@ -13,12 +13,10 @@ const categoriesQuery = async (graphql: CreatePagesArgs["graphql"]) => {
|
||||
const result = await graphql<CategoriesQueryResult>(`
|
||||
{
|
||||
allMarkdownRemark(
|
||||
filter: {
|
||||
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
|
||||
}
|
||||
sort: { order: DESC, fields: [frontmatter___date] }
|
||||
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
|
||||
sort: { frontmatter: { date: DESC } }
|
||||
) {
|
||||
group(field: frontmatter___category) {
|
||||
group(field: { frontmatter: { category: SELECT } }) {
|
||||
fieldValue
|
||||
totalCount
|
||||
}
|
||||
|
@@ -13,11 +13,9 @@ const tagsQuery = async (graphql: CreatePagesArgs["graphql"]) => {
|
||||
const result = await graphql<TagsQueryResult>(`
|
||||
{
|
||||
allMarkdownRemark(
|
||||
filter: {
|
||||
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
|
||||
}
|
||||
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
|
||||
) {
|
||||
group(field: frontmatter___tags) {
|
||||
group(field: { frontmatter: { tags: SELECT } }) {
|
||||
fieldValue
|
||||
totalCount
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import contacts from "./contacts";
|
||||
|
||||
export default {
|
||||
photo: "/me.png",
|
||||
photo: "/content/me.png",
|
||||
bio: "",
|
||||
name: "Rick van Lieshout",
|
||||
contacts,
|
||||
|
12870
package-lock.json
generated
12870
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
138
package.json
138
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "rickvanlieshout-com",
|
||||
"version": "1.2.0",
|
||||
"version": "1.2.2",
|
||||
"description": "My personal blog / website",
|
||||
"keywords": [
|
||||
"gatsby",
|
||||
@@ -49,36 +49,37 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-svg-core": "^6.2.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.2.0",
|
||||
"@fortawesome/fontawesome-svg-core": "^6.3.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.3.0",
|
||||
"@fortawesome/react-fontawesome": "^0.2.0",
|
||||
"classnames": "^2.3.2",
|
||||
"disqus-react": "^1.1.4",
|
||||
"gatsby": "^4.24.4",
|
||||
"gatsby-link": "^4.24.1",
|
||||
"gatsby-plugin-catch-links": "^4.24.0",
|
||||
"gatsby-plugin-feed": "^4.24.0",
|
||||
"gatsby-plugin-google-gtag": "^4.24.0",
|
||||
"gatsby-plugin-image": "^2.24.0",
|
||||
"gatsby-plugin-manifest": "^4.24.0",
|
||||
"gatsby-plugin-offline": "^5.24.0",
|
||||
"disqus-react": "^1.1.5",
|
||||
"gatsby": "^5.8.0",
|
||||
"gatsby-link": "^5.8.0",
|
||||
"gatsby-plugin-catch-links": "^5.8.0",
|
||||
"gatsby-plugin-feed": "^5.8.0",
|
||||
"gatsby-plugin-google-gtag": "^5.8.0",
|
||||
"gatsby-plugin-image": "^3.8.0",
|
||||
"gatsby-plugin-manifest": "^5.8.0",
|
||||
"gatsby-plugin-offline": "^6.8.0",
|
||||
"gatsby-plugin-optimize-svgs": "^1.0.5",
|
||||
"gatsby-plugin-react-helmet": "^5.24.0",
|
||||
"gatsby-plugin-robots-txt": "^1.7.1",
|
||||
"gatsby-plugin-sass": "^5.24.0",
|
||||
"gatsby-plugin-sharp": "^4.24.0",
|
||||
"gatsby-plugin-sitemap": "^5.24.0",
|
||||
"gatsby-remark-autolink-headers": "^5.24.0",
|
||||
"gatsby-remark-copy-linked-files": "^5.24.0",
|
||||
"gatsby-plugin-react-helmet": "^6.8.0",
|
||||
"gatsby-plugin-react-helmet-canonical-urls": "^1.4.0",
|
||||
"gatsby-plugin-robots-txt": "^1.8.0",
|
||||
"gatsby-plugin-sass": "^6.8.0",
|
||||
"gatsby-plugin-sharp": "^5.8.0",
|
||||
"gatsby-plugin-sitemap": "^6.8.0",
|
||||
"gatsby-remark-autolink-headers": "^6.8.0",
|
||||
"gatsby-remark-copy-linked-files": "^6.8.0",
|
||||
"gatsby-remark-external-links": "0.0.4",
|
||||
"gatsby-remark-images": "^6.24.0",
|
||||
"gatsby-remark-images": "^7.8.0",
|
||||
"gatsby-remark-images-medium-zoom": "^1.7.0",
|
||||
"gatsby-remark-prismjs": "^6.24.0",
|
||||
"gatsby-remark-responsive-iframe": "^5.24.0",
|
||||
"gatsby-remark-smartypants": "^5.24.0",
|
||||
"gatsby-source-filesystem": "^4.24.0",
|
||||
"gatsby-transformer-remark": "^5.24.0",
|
||||
"gatsby-transformer-sharp": "^4.24.0",
|
||||
"gatsby-remark-prismjs": "^7.8.0",
|
||||
"gatsby-remark-responsive-iframe": "^6.8.0",
|
||||
"gatsby-remark-smartypants": "^6.8.0",
|
||||
"gatsby-source-filesystem": "^5.8.0",
|
||||
"gatsby-transformer-remark": "^6.8.0",
|
||||
"gatsby-transformer-sharp": "^5.8.0",
|
||||
"prismjs": "^1.29.0",
|
||||
"react": "^18.2.0",
|
||||
"react-cookie-consent": "^8.0.1",
|
||||
@@ -88,70 +89,69 @@
|
||||
"reading-time": "^1.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/config-conventional": "^17.2.0",
|
||||
"@commitlint/cz-commitlint": "^17.2.0",
|
||||
"@jest/globals": "^29.1.2",
|
||||
"@commitlint/config-conventional": "^17.4.4",
|
||||
"@commitlint/cz-commitlint": "^17.5.0",
|
||||
"@jest/globals": "^29.5.0",
|
||||
"@mastermindzh/eslint-config": "^1.0.2",
|
||||
"@mastermindzh/prettier-config": "^1.0.0",
|
||||
"@semantic-release/exec": "6.0.3",
|
||||
"@semantic-release/git": "10.0.1",
|
||||
"@swc/core": "^1.3.6",
|
||||
"@swc/jest": "^0.2.23",
|
||||
"@swc/core": "^1.3.42",
|
||||
"@swc/jest": "^0.2.24",
|
||||
"@types/gatsby-transformer-remark": "^2.9.1",
|
||||
"@types/jest": "^29.1.2",
|
||||
"@types/node": "^18.8.4",
|
||||
"@types/react": "^18.0.21",
|
||||
"@types/react-dom": "^18.0.6",
|
||||
"@types/react-helmet": "^6.1.5",
|
||||
"@types/jest": "^29.5.0",
|
||||
"@types/node": "^18.15.10",
|
||||
"@types/react": "^18.0.29",
|
||||
"@types/react-dom": "^18.0.11",
|
||||
"@types/react-helmet": "^6.1.6",
|
||||
"@types/react-test-renderer": "^18.0.0",
|
||||
"@types/react-toggle": "^4.0.3",
|
||||
"@types/sass": "^1.43.1",
|
||||
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
||||
"@typescript-eslint/parser": "^5.40.0",
|
||||
"autoprefixer": "^10.4.12",
|
||||
"browserslist": "^4.21.4",
|
||||
"@typescript-eslint/eslint-plugin": "^5.56.0",
|
||||
"@typescript-eslint/parser": "^5.56.0",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"browserslist": "^4.21.5",
|
||||
"codecov": "^3.8.3",
|
||||
"commitizen": "^4.2.5",
|
||||
"commitlint": "^17.2.0",
|
||||
"concurrently": "^7.4.0",
|
||||
"eslint": "^8.25.0",
|
||||
"commitizen": "^4.3.0",
|
||||
"commitlint": "^17.5.0",
|
||||
"concurrently": "^7.6.0",
|
||||
"eslint": "^8.36.0",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-airbnb-typescript": "^17.0.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-react-app": "^7.0.1",
|
||||
"eslint-import-resolver-typescript": "^3.5.1",
|
||||
"eslint-import-resolver-typescript": "^3.5.3",
|
||||
"eslint-plugin-flowtype": "^8.0.3",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-jest": "^27.1.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.6.1",
|
||||
"eslint-plugin-import": "^2.27.5",
|
||||
"eslint-plugin-jest": "^27.2.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.7.1",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-react": "^7.31.10",
|
||||
"eslint-plugin-react": "^7.32.2",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"eslint-plugin-simple-import-sort": "^8.0.0",
|
||||
"husky": "8.0.1",
|
||||
"eslint-plugin-simple-import-sort": "^10.0.0",
|
||||
"husky": "^8.0.3",
|
||||
"identity-obj-proxy": "3.0.0",
|
||||
"jest": "^29.1.2",
|
||||
"jest-cli": "^29.1.2",
|
||||
"jest-environment-jsdom": "^29.1.2",
|
||||
"jest": "^29.5.0",
|
||||
"jest-cli": "^29.5.0",
|
||||
"jest-environment-jsdom": "^29.5.0",
|
||||
"jest-svg-transformer": "^1.0.0",
|
||||
"lint-staged": "^13.0.3",
|
||||
"lint-staged": "^13.2.0",
|
||||
"lost": "9.0.1",
|
||||
"markdownlint": "^0.26.2",
|
||||
"postcss": "^8.4.17",
|
||||
"postcss-scss": "^4.0.5",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier-plugin-packagejson": "^2.3.0",
|
||||
"markdownlint": "^0.28.0",
|
||||
"postcss": "^8.4.21",
|
||||
"postcss-scss": "^4.0.6",
|
||||
"prettier": "^2.8.7",
|
||||
"prettier-plugin-packagejson": "^2.4.3",
|
||||
"react-test-renderer": "^18.2.0",
|
||||
"rimraf": "3.0.2",
|
||||
"sass": "^1.55.0",
|
||||
"rimraf": "^4.4.1",
|
||||
"sass": "^1.60.0",
|
||||
"source-map-support": "^0.5.21",
|
||||
"standard-version": "^9.5.0",
|
||||
"stylelint": "^14.13.0",
|
||||
"stylelint-config-recommended-scss": "^7.0.0",
|
||||
"stylelint-order": "^5.0.0",
|
||||
"stylelint-scss": "^4.3.0",
|
||||
"stylelint": "^15.3.0",
|
||||
"stylelint-config-recommended-scss": "^9.0.1",
|
||||
"stylelint-order": "^6.0.3",
|
||||
"stylelint-scss": "^4.6.0",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "^4.8.4"
|
||||
"typescript": "^5.0.2"
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
|
@@ -6,6 +6,10 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.language-text {
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
@media print {
|
||||
.hideInPrintView {
|
||||
display: none;
|
||||
|
@@ -10,9 +10,16 @@ interface Props {
|
||||
description?: string;
|
||||
socialImage?: string;
|
||||
children: React.ReactNode;
|
||||
noIndex?: boolean;
|
||||
}
|
||||
|
||||
const Layout: React.FC<Props> = ({ children, title, description, socialImage = "" }: Props) => {
|
||||
const Layout: React.FC<Props> = ({
|
||||
children,
|
||||
title,
|
||||
description,
|
||||
socialImage = "",
|
||||
noIndex = false,
|
||||
}: Props) => {
|
||||
const { author, url } = useSiteMetadata();
|
||||
const metaImage = socialImage || author.photo;
|
||||
const metaImageUrl = url + metaImage;
|
||||
@@ -29,6 +36,7 @@ const Layout: React.FC<Props> = ({ children, title, description, socialImage = "
|
||||
<meta name="twitter:title" content={title} />
|
||||
<meta name="twitter:description" content={description} />
|
||||
<meta name="twitter:image" content={metaImageUrl} />
|
||||
{noIndex && <meta name="robots" content="noindex" />}
|
||||
</Helmet>
|
||||
{children}
|
||||
<CookieBar />
|
||||
|
@@ -33,6 +33,7 @@ exports[`Content renders correctly 1`] = `
|
||||
onClick={[Function]}
|
||||
style={
|
||||
{
|
||||
"cursor": "pointer",
|
||||
"lineHeight": "50px",
|
||||
"marginRight": "10px",
|
||||
}
|
||||
@@ -111,7 +112,7 @@ exports[`Content renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -34,6 +34,7 @@ exports[`Post renders correctly 1`] = `
|
||||
onClick={[Function]}
|
||||
style={
|
||||
{
|
||||
"cursor": "pointer",
|
||||
"lineHeight": "50px",
|
||||
"marginRight": "10px",
|
||||
}
|
||||
@@ -112,7 +113,7 @@ exports[`Post renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -24,7 +24,10 @@ export const PostHeader: FunctionComponent<Props> = ({ author }) => {
|
||||
</span>
|
||||
|
||||
<span className="hideInPrintView">
|
||||
<a onClick={() => navigate("/")} style={{ lineHeight: "50px", marginRight: "10px" }}>
|
||||
<a
|
||||
onClick={() => navigate("/")}
|
||||
style={{ lineHeight: "50px", marginRight: "10px", cursor: "pointer" }}
|
||||
>
|
||||
↩ Back to articles
|
||||
</a>
|
||||
<ThemeSwitcher showLabel={false} />
|
||||
|
@@ -221,7 +221,7 @@ exports[`Sidebar renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -14,17 +14,15 @@ const useCategoriesList = () => {
|
||||
graphql`
|
||||
query CategoriesListQuery {
|
||||
allMarkdownRemark(
|
||||
filter: {
|
||||
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
|
||||
}
|
||||
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
|
||||
) {
|
||||
group(field: frontmatter___category) {
|
||||
group(field: { frontmatter: { category: SELECT } }) {
|
||||
fieldValue
|
||||
totalCount
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
`
|
||||
);
|
||||
|
||||
return allMarkdownRemark.group ?? [];
|
||||
|
@@ -14,17 +14,15 @@ const useTagsList = () => {
|
||||
graphql`
|
||||
query TagsListQuery {
|
||||
allMarkdownRemark(
|
||||
filter: {
|
||||
frontmatter: { template: { eq: "post" }, draft: { ne: true } }
|
||||
}
|
||||
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
|
||||
) {
|
||||
group(field: frontmatter___tags) {
|
||||
group(field: { frontmatter: { tags: SELECT } }) {
|
||||
fieldValue
|
||||
totalCount
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
`
|
||||
);
|
||||
|
||||
return allMarkdownRemark.group || [];
|
||||
|
@@ -222,7 +222,7 @@ exports[`CategoriesTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -21,14 +21,11 @@ const CategoryTemplate: React.FC<Props> = ({ data, pageContext }: Props) => {
|
||||
const { title: siteTitle, subtitle: siteSubtitle } = useSiteMetadata();
|
||||
|
||||
const { group, pagination } = pageContext;
|
||||
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } =
|
||||
pagination;
|
||||
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } = pagination;
|
||||
|
||||
const { edges } = data.allMarkdownRemark;
|
||||
const pageTitle =
|
||||
currentPage > 0
|
||||
? `${group} - Page ${currentPage} - ${siteTitle}`
|
||||
: `${group} - ${siteTitle}`;
|
||||
currentPage > 0 ? `${group} - Page ${currentPage} - ${siteTitle}` : `${group} - ${siteTitle}`;
|
||||
|
||||
return (
|
||||
<Layout title={pageTitle} description={siteSubtitle}>
|
||||
@@ -52,13 +49,9 @@ export const query = graphql`
|
||||
limit: $limit
|
||||
skip: $offset
|
||||
filter: {
|
||||
frontmatter: {
|
||||
category: { eq: $group }
|
||||
template: { eq: "post" }
|
||||
draft: { ne: true }
|
||||
frontmatter: { category: { eq: $group }, template: { eq: "post" }, draft: { ne: true } }
|
||||
}
|
||||
}
|
||||
sort: { order: DESC, fields: [frontmatter___date] }
|
||||
sort: { frontmatter: { date: DESC } }
|
||||
) {
|
||||
edges {
|
||||
node {
|
||||
|
@@ -222,7 +222,7 @@ exports[`CategoryTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -46,7 +46,7 @@ export const query = graphql`
|
||||
allMarkdownRemark(
|
||||
limit: $limit
|
||||
skip: $offset
|
||||
sort: { order: DESC, fields: [frontmatter___date] }
|
||||
sort: { frontmatter: { date: DESC } }
|
||||
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
|
||||
) {
|
||||
edges {
|
||||
|
@@ -222,7 +222,7 @@ exports[`IndexTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -222,7 +222,7 @@ exports[`NotFoundTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -222,7 +222,7 @@ exports[`PageTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -35,6 +35,7 @@ exports[`PostTemplate renders correctly 1`] = `
|
||||
onClick={[Function]}
|
||||
style={
|
||||
{
|
||||
"cursor": "pointer",
|
||||
"lineHeight": "50px",
|
||||
"marginRight": "10px",
|
||||
}
|
||||
@@ -113,7 +114,7 @@ exports[`PostTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -21,17 +21,14 @@ const TagTemplate: React.FC<Props> = ({ data, pageContext }: Props) => {
|
||||
const { title: siteTitle, subtitle: siteSubtitle } = useSiteMetadata();
|
||||
|
||||
const { group, pagination } = pageContext;
|
||||
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } =
|
||||
pagination;
|
||||
const { currentPage, prevPagePath, nextPagePath, hasPrevPage, hasNextPage } = pagination;
|
||||
|
||||
const { edges } = data.allMarkdownRemark;
|
||||
const pageTitle =
|
||||
currentPage > 0
|
||||
? `${group} - Page ${currentPage} - ${siteTitle}`
|
||||
: `${group} - ${siteTitle}`;
|
||||
currentPage > 0 ? `${group} - Page ${currentPage} - ${siteTitle}` : `${group} - ${siteTitle}`;
|
||||
|
||||
return (
|
||||
<Layout title={pageTitle} description={siteSubtitle}>
|
||||
<Layout title={pageTitle} description={siteSubtitle} noIndex>
|
||||
<Sidebar />
|
||||
<Page title={group}>
|
||||
<Feed edges={edges} />
|
||||
@@ -58,13 +55,9 @@ export const query = graphql`
|
||||
limit: $limit
|
||||
skip: $offset
|
||||
filter: {
|
||||
frontmatter: {
|
||||
tags: { in: [$group] }
|
||||
template: { eq: "post" }
|
||||
draft: { ne: true }
|
||||
frontmatter: { tags: { in: [$group] }, template: { eq: "post" }, draft: { ne: true } }
|
||||
}
|
||||
}
|
||||
sort: { order: DESC, fields: [frontmatter___date] }
|
||||
sort: { frontmatter: { date: DESC } }
|
||||
) {
|
||||
edges {
|
||||
node {
|
||||
|
@@ -222,7 +222,7 @@ exports[`TagTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -222,7 +222,7 @@ exports[`TagsTemplate renders correctly 1`] = `
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zm32 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128z"
|
||||
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
|
||||
fill="currentColor"
|
||||
style={{}}
|
||||
/>
|
||||
|
@@ -66,6 +66,14 @@ RewriteRule ^(.*)$ http://www.mastermindzh.com/$1 [L,R=301]
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
|
||||
<Files *.html>
|
||||
FileETag None
|
||||
Header unset ETag
|
||||
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
|
||||
Header set Pragma "no-cache"
|
||||
Header set Expires "Thu, 1 Jan 1970 00:00:00 UTC"
|
||||
</Files>
|
||||
|
||||
# redirect old blog pages
|
||||
Redirect /home /
|
||||
Redirect /cookies /pages/legal/cookies
|
||||
|
BIN
static/content/me.png
Normal file
BIN
static/content/me.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
Reference in New Issue
Block a user