feat: blog
New blog section of the website
A blog section of the website, including navigation, blog index, blog singular pages (single articles), search and filters, tags and categories, styling and interactions.
Note that each of the items above and below aren't simple tasks, they are epic-sized (e.g., 5, 8, or 13 story points)
- [x] Add blog index page (and all related features)
- [x] Add blog singular page (and all related features)
- [x] Add all markdown elements
- [x] Design review
Blocked
- [ ] Hook up subscribe API (requires endpoint)
- [ ] Update content and images (requires content)
- [ ] Integrate CMS layer (possibly Forestry.io, but unconfirmed, currently blocked)
package-lock.json changes
Summary
| Status | Count |
|---|---|
| 11 | |
| 74 | |
| 21 |
Click to toggle table visibility
| Name | Status | Previous | Current |
|---|---|---|---|
@babel/compat-data |
7.17.0 | 7.17.10 | |
@babel/core |
7.17.5 | 7.17.12 | |
@babel/generator |
7.17.3 | 7.17.12 | |
@babel/helper-compilation-targets |
7.16.7 | 7.17.10 | |
@babel/helper-create-class-features-plugin |
7.17.6 | 7.17.12 | |
@babel/helper-create-regexp-features-plugin |
7.17.0 | 7.17.12 | |
@babel/helper-function-name |
7.16.7 | 7.17.9 | |
@babel/helper-get-function-arity |
7.16.7 | - | |
@babel/helper-member-expression-to-functions |
7.16.7 | 7.17.7 | |
@babel/helper-module-transforms |
7.17.6 | 7.17.12 | |
@babel/helper-simple-access |
7.16.7 | 7.17.7 | |
@babel/helpers |
7.17.2 | 7.17.9 | |
@babel/parser |
7.17.3 | 7.17.12 | |
@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression |
7.16.7 | 7.17.12 | |
@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining |
7.16.7 | 7.17.12 | |
@babel/plugin-proposal-async-generator-functions |
7.16.8 | 7.17.12 | |
@babel/plugin-proposal-class-static-block |
7.17.6 | 7.17.12 | |
@babel/plugin-proposal-json-strings |
7.16.7 | 7.17.12 | |
@babel/plugin-proposal-object-rest-spread |
7.17.3 | 7.17.12 | |
@babel/plugin-proposal-unicode-property-regex |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-arrow-functions |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-async-to-generator |
7.16.8 | 7.17.12 | |
@babel/plugin-transform-block-scoping |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-classes |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-computed-properties |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-destructuring |
7.17.3 | 7.17.12 | |
@babel/plugin-transform-duplicate-keys |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-for-of |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-literals |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-modules-amd |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-modules-systemjs |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-modules-umd |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-named-capturing-groups-regex |
7.16.8 | 7.17.12 | |
@babel/plugin-transform-new-target |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-parameters |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-regenerator |
7.16.7 | 7.17.9 | |
@babel/plugin-transform-reserved-words |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-runtime |
7.17.0 | - | |
@babel/plugin-transform-spread |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-template-literals |
7.16.7 | 7.17.12 | |
@babel/plugin-transform-typeof-symbol |
7.16.7 | 7.17.12 | |
@babel/preset-env |
7.16.11 | 7.17.12 | |
@babel/runtime-corejs3 |
- | 7.17.9 | |
@babel/runtime |
7.17.2 | 7.17.9 | |
@babel/traverse |
7.17.3 | 7.17.12 | |
@babel/types |
7.17.0 | 7.17.12 | |
@jridgewell/gen-mapping |
- | 0.3.1 | |
@jridgewell/set-array |
- | 1.1.1 | |
@jridgewell/trace-mapping |
0.3.4 | 0.3.13 | |
@mdx-js/mdx |
- | 2.1.1 | |
@mdx-js/react |
- | 2.1.1 | |
@miniflare/cache |
2.5.1 | 2.6.0 | |
@miniflare/cli-parser |
2.5.1 | 2.6.0 | |
@miniflare/core |
2.5.1 | 2.6.0 | |
@miniflare/durable-objects |
2.5.1 | 2.6.0 | |
@miniflare/html-rewriter |
2.5.1 | 2.6.0 | |
@miniflare/http-server |
2.5.1 | 2.6.0 | |
@miniflare/kv |
2.5.1 | 2.6.0 | |
@miniflare/r2 |
- | 2.6.0 | |
@miniflare/runner-vm |
2.5.1 | 2.6.0 | |
@miniflare/scheduler |
2.5.1 | 2.6.0 | |
@miniflare/shared |
2.5.1 | 2.6.0 | |
@miniflare/sites |
2.5.1 | 2.6.0 | |
@miniflare/storage-file |
2.5.1 | 2.6.0 | |
@miniflare/storage-memory |
2.5.1 | 2.6.0 | |
@miniflare/watcher |
2.5.1 | 2.6.0 | |
@miniflare/web-sockets |
2.5.1 | 2.6.0 | |
browserslist |
4.19.3 | 4.20.3 | |
caniuse-lite |
1.0.30001312 | 1.0.30001341 | |
core-js-compat |
3.21.1 | 3.22.5 | |
core-js |
3.21.1 | 3.22.5 | |
domhandler |
4.3.0 | 4.3.1 | |
electron-to-chromium |
1.4.72 | 1.4.137 | |
enhanced-resolve |
5.9.0 | 5.9.3 | |
esbuild-android-64 |
0.14.34 | - | |
esbuild-android-arm64 |
0.14.34 | - | |
esbuild-darwin-arm64 |
0.14.34 | - | |
esbuild-freebsd-64 |
0.14.34 | - | |
esbuild-freebsd-arm64 |
0.14.34 | - | |
esbuild-linux-32 |
0.14.34 | - | |
esbuild-linux-64 |
0.14.34 | - | |
esbuild-linux-arm |
0.14.34 | - | |
esbuild-linux-arm64 |
0.14.34 | - | |
esbuild-linux-mips64le |
0.14.34 | - | |
esbuild-linux-ppc64le |
0.14.34 | - | |
esbuild-linux-riscv64 |
0.14.34 | - | |
esbuild-linux-s390x |
0.14.34 | - | |
esbuild-netbsd-64 |
0.14.34 | - | |
esbuild-openbsd-64 |
0.14.34 | - | |
esbuild-sunos-64 |
0.14.34 | - | |
esbuild-windows-32 |
0.14.34 | - | |
esbuild-windows-64 |
0.14.34 | - | |
esbuild-windows-arm64 |
0.14.34 | - | |
miniflare |
2.5.1 | 2.6.0 | |
node-releases |
2.0.2 | 2.0.4 | |
postcss |
8.4.12 | 8.4.14 | |
regenerator-transform |
0.14.5 | 0.15.0 | |
remark-mdx |
- | 2.1.1 | |
remark-parse |
- | 10.0.1 | |
rxjs |
7.5.5 | 7.5.6 | |
tslib |
2.3.1 | 2.4.0 | |
unist-util-remove-position |
- | 4.0.1 | |
vfile-location |
- | 4.0.1 | |
webpack-sources |
- | 1.4.3 | |
webpack |
5.69.1 | 5.72.1 | |
wrangler |
2.0.15 | 2.0.16 |
Website preview 🔗✨
- 🙂 https://nftstorage.link/ipfs/bafybeid4npkfulsj46iaktjx4u4v3sfrulyejt42sxeb23ymuto7st6emi
- ⛅️ https://192c957d.web3-storage-staging.pages.dev
build log
@orvn
- Linkedin share button leads to a malformed (404) Linkedin page (all other share options work though!)
It seems like linkedin does not like sharing sites that ends in .dev.
nft.storage dev sites has the same issue. See https://feat-add-rarible-logo.nft-storage-1at.pages.dev/blog/post/2022-07-06-elastic-ipfs/ but it works on the production site.
- Tables aren't rendering in the markdown (added a table in this page to test Announcing: NFT.Storage Gateway SuperHot perma-cache)
Markdown parser is using { MDXRemote } from 'next-mdx-remote' which is the same as NFT.storage. NFT.storage has the same issue where tables are not showing up. I have removed and used the dynamic importing by next.js
Also found a weird flash/glitch (firefox) when you click on copy link. https://user-images.githubusercontent.com/1189523/187780744-7c157e20-4d38-4953-a344-b9c21f877658.mov
Closing this out, since blog code now lives in the content repo.