Skip to content

Commit 5bee2fb

Browse files
Merge branch 'release/0.4.0' into develop
2 parents 1c4ba79 + 7b3d69c commit 5bee2fb

File tree

3 files changed

+158
-2
lines changed

3 files changed

+158
-2
lines changed

CHANGELOG.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,120 @@
88

99
<!-- lint disable no-duplicate-headings -->
1010

11+
# 0.4.0
12+
13+
![Release Date: 2018-12-23](https://img.shields.io/badge/Release_Date-2018--12--23-88c0d0.svg?style=flat-square&colorA=4c566a) [![Project Board](https://img.shields.io/badge/Project_Board-0.4.0-88c0d0.svg?style=flat-square&colorA=4c566a&logo=github&logoColor=eceff4)](https://github.com/arcticicestudio/nord-docs/projects/6) [![Milestone](https://img.shields.io/badge/Milestone-0.4.0-88c0d0.svg?style=flat-square&colorA=4c566a&logo=github&logoColor=eceff4)](https://github.com/arcticicestudio/nord-docs/milestone/4)
14+
15+
This version focused on [analytics & statistics][gh-86] as well as [SEO & social media representation][gh-100]. This includes the integration of [Google Analytics][gh-87], requirements of a [PWA][gdev-web-pwa] ([Progressive Web App][wiki-pwa]) like a [Web App Manifest][gh-91], _offline_ resistance and availability through a [service worker][gh-94] and [improved caching strategies and usage of advanced techniques like HTTP/2 server push][gh-89].
16+
17+
Several implementation for SEO have been made with automated generation of web standard resources like the [sitemap.xml][gh-96] and [robots.txt][gh-98] files. A new [`SiteMetadata` component][gh-101] has been added to allow to provide metadata for several specifications like the [Open Graph Protocol][ogp], [Twitter Cards][tw-docs-cards] and [schema.org][].
18+
19+
## Features
20+
21+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/50167256-14bbd380-02e9-11e9-8aca-a31baf745cd8.png" width="12%" /></p>
22+
23+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/50167593-c824c800-02e9-11e9-9b70-84b6fc40c05f.png " width="10%"/></p>
24+
25+
**Google Analytics**#87#88 (⊶ 7aed8952)
26+
↠ Integrated [Google Analytics][ga-mark] like documented in the [“Analytics & Statistics” design concept][gh-86] through the Gatsby plugin [gatsby-plugin-google-gtag][gh-gatsby-p-gtag].
27+
28+
It is a stable and proven service tool to collect and analyze data with a lot of useful configurable features and a reliable persistence.
29+
30+
_Nord Docs_ uses the latest and recommended [gtag.js][gdev-ga-gtag] library that optionally allows, next to Google Analytics itself, the integration of almost all Google Marketing services like e.g. [Google Tag Manager][gdev-tm].
31+
32+
To protect the privacy of users and to be compatible with various privacy and data legal guidelines all [IP addresses are anonymized][gsup-ga-anonip].
33+
34+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/48661237-35d1a000-ea6f-11e8-8e16-f48948969be6.png" width="12%" /></p>
35+
36+
**Gatsby Plugin "Netlify"**#89#90 (⊶ b4a91fd9)
37+
↠ Added [gatsby-plugin-netlify][npm-gatsby-plugin-netlify] to automatically generate a `_headers` file and a `_redirects` file at the root of the public folder to configure [HTTP headers][netlify-docs-headers] and [redirects][netlify-docs-rd] on Netlify.
38+
One of the main advantages is that it also enables HTTP/2 server push of critical Gatsby assets through the `Link` headers. By default, the plugin adds HTTP/2 assets to server push the critical Gatsby scripts (ones that have the `preload` attribute already) and additionally adds basic security and caching headers.
39+
40+
See the [“Hosting & Continuous Deployment” design concept][gh-46] for more details.
41+
42+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/50234314-aee94d80-03b5-11e9-8eda-e56b9b632b22.png" width="12%" /></p>
43+
44+
**Gatsby Plugin "Web App Manifest"**#91#93 (⊶ 6415ddc5)
45+
↠ Integrated [gatsby-plugin-manifest][npm-gatsby-plugin-manifest] that adds support for generating and shipping a [web app (PWA) `manifest.webmanifest`][mdn-web-mf]. It allows users to save _Nord Docs_ as web application to their desktops / task bars and smartphone home screens so it behaves similar to native apps.
46+
47+
See the great Google Developer documentation about [the web app manifest][gdev-fund-wamf] and the [official W3 Web App Manifest specification][w3-spec-mf].
48+
49+
Note that it is **recommended to use this plugin together with** [gatsby-plugin-offline][npm-gatsby-plugin-offline] ([#94][gh-94]), but ensure that **this plugin is listed before the offline plugin** so that it can cache the created `manifest.webmanifest` file!
50+
51+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/50229928-b86db800-03ab-11e9-89ad-07075d659574.png" width="12%" /></p>
52+
53+
**Gatsby Plugin "Offline" Service Worker**#94#95 (⊶ e381f366)
54+
↠ Integrated [gatsby-plugin-offline][gh-gatsby-p-offline] that adds drop-in support for making a Gatsby site work offline and more resistant to bad network connections. It creates a service worker for the site using the great [Workbox][] project and loads the service worker into the client.
55+
56+
Note that it is **recommended to use this plugin together with** [gatsby-plugin-manifest][gh-gatsby-p-manifest] ([#91][gh-94]), but ensure that **this plugin is listed after the offline plugin** so that the created `manifest.webmanifest` file can be included in the service worker!
57+
58+
The plugin comes with optimal configurations out-of-the-box™. Note that the offline support can break when changing these options.
59+
60+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/50330182-920a6280-04fa-11e9-825d-157168c2eb93.png" width="12%" /></p>
61+
62+
**Gatsby Plugin "Sitemap"**#96#97 (⊶ 1cf69f42)
63+
↠ Integrated [gatsby-plugin-sitemap][gh-gatsby-p-sitemap] that automatically generates a [sitemap.xml][wiki-sitemap] file including all of _Nord Docs_ pages, except the ones excluded by default and custom configured routes.
64+
65+
Note that by default the plugin assumes that the default Gatsby config object field `siteMetadata.siteUrl` is set to the site's URL.
66+
67+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/50345701-4ecae680-0530-11e9-9cff-7b42a99dd673.png" width="12%" /></p>
68+
69+
**Gatsby Plugin "robots.txt"**#98#99 (⊶ ca4ed675)
70+
↠ Integrated [gatsby-plugin-robots-txt][gh-gatsby-p-robots-txt] that automatically generates a [robots.txt][wiki-robotstxt] file.
71+
72+
Note that by default the plugin assumes that the default Gatsby config object field `siteMetadata.siteUrl` is used and set to the site's URL. It also uses the default path `${siteMetadata.siteUrl/sitemap.xml}` for the sitemap file ([#96][gh-96]).
73+
74+
<p align="center"><img src="https://user-images.githubusercontent.com/7836623/50351078-59da4280-0541-11e9-97ec-b983c43bbedc.png" width="12%" /> <img src="https://user-images.githubusercontent.com/7836623/50351088-6199e700-0541-11e9-831d-0b9200abfbe9.png" width="12%" /></p>
75+
76+
**Site Metadata Component**#101#102 (⊶ a8fb8edd)
77+
↠ Implemented the core atom `SiteMetadata` that injects global metadata. Next to general data like the page title and canonical URL it will include data for the [Open Graph Protocol][ogp], [Twitter Cards][tw-docs-cards] and the [schema.org][] structured data format [JSON-LD][].
78+
The component doesn't render any UI, but injects the elements into the `<head>` using [React Helmet][gh-react-helmet].
79+
80+
For more details read the [“SEO & Social Media Representation” design concept][gh-100] and the great documentation about [SEO with Gatsby][gatsby-docs-seo].
81+
82+
## Tasks
83+
84+
**Dependency Update December 2018**#103#104 (⊶ 1c4ba796)
85+
↠ Performed the regular batch update for outdated dependencies which raises React to version [16.7.0][react-rln-16.7.0] to include an important performance bug fix for `React.lazy`.
86+
87+
Babel has been updated to the latest minor version [7.2.0][babel-rln-7.2.0] (including official plugins) that comes with a lot of improvements and bug fixes for TypeScript and Flow as well as support for _private instance methods_ and “smart” pipeline operator parsing.
88+
89+
The `babel-plugin-styled-components` plugin now also supports the new `css` prop of the also updated `styled-components` package.
90+
91+
Gatsby and all plugins have been updated to the latest versions to include the latest improvements and bug fixes.
92+
93+
Note that packages marked with an :exclamation: have been affected by the security incident!
94+
95+
###### Production Dependencies
96+
97+
- gatsby `2.0.55``2.0.75`
98+
- gatsby-plugin-canonical-urls `2.0.7``2.0.8`
99+
- gatsby-plugin-catch-links `2.0.8``2.0.9`
100+
- gatsby-plugin-react-helmet `3.0.2``3.0.5`
101+
- gatsby-plugin-remove-trailing-slashes `2.0.5``2.0.6`
102+
- gatsby-source-filesystem `2.0.9``2.0.12`
103+
- gatsby-transformer-yaml `2.1.5``2.1.6`
104+
- inter-ui `3.0.0``3.1.0`
105+
- react `16.6.3``16.7.0`
106+
- react-dom `16.6.3``16.7.0`
107+
- styled-components `4.1.2``4.1.3`
108+
109+
###### Development Dependencies
110+
111+
- @babel/core `7.1.6``7.2.2`
112+
- @babel/plugin-proposal-class-properties `7.1.0``7.2.3`
113+
- @babel/plugin-proposal-export-default-from `7.0.0``7.2.0`
114+
- @babel/plugin-proposal-nullish-coalescing-operator `7.0.0``7.2.0`
115+
- @babel/plugin-proposal-optional-chaining `7.0.0``7.2.0`
116+
- babel-plugin-styled-components `1.9.2``1.10.0`
117+
- babel-plugin-transform-react-remove-prop-types `0.4.20``0.4.21`
118+
- babel-preset-gatsby `0.1.4``0.1.6`
119+
- eslint `5.9.0``5.11.0`
120+
- husky `1.2.0``1.2.1`
121+
- jest-dom `2.1.1``3.0.0`
122+
- prettier `1.15.2``1.15.3`
123+
- react-testing-library `5.3.0``5.4.2`
124+
11125
# 0.3.0
12126

13127
![Release Date: 2018-12-18](https://img.shields.io/badge/Release_Date-2018--12--18-88c0d0.svg?style=flat-square&colorA=4c566a) [![Project Board](https://img.shields.io/badge/Project_Board-0.3.0-88c0d0.svg?style=flat-square&colorA=4c566a&logo=github&logoColor=eceff4)](https://github.com/arcticicestudio/nord-docs/projects/5) [![Milestone](https://img.shields.io/badge/Milestone-0.3.0-88c0d0.svg?style=flat-square&colorA=4c566a&logo=github&logoColor=eceff4)](https://github.com/arcticicestudio/nord-docs/milestone/3)
@@ -573,12 +687,18 @@ Note that packages marked with an double exclamation mark `‼` have been affect
573687
[eslint-r-import/no-extraneous-dependencies]: https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-extraneous-dependencies.md
574688
[eva-icons]: https://akveo.github.io/eva-icons
575689
[flow]: https://flow.org
690+
[ga-mark]: https://marketingplatform.google.com/about/analytics
576691
[gatsby-docs-404]: https://www.gatsbyjs.org/docs/add-404-page
577692
[gatsby-docs-api-node]: https://www.gatsbyjs.org/docs/node-apis
578693
[gatsby-docs-config]: https://gatsbyjs.org/docs/gatsby-config
579694
[gatsby-docs-link]: https://www.gatsbyjs.org/docs/gatsby-link
695+
[gatsby-docs-seo]: https://www.gatsbyjs.org/docs/seo
580696
[gatsby-docs-testing]: https://www.gatsbyjs.org/docs/testing
697+
[gdev-fund-wamf]: https://developers.google.com/web/fundamentals/web-app-manifest
698+
[gdev-ga-gtag]: https://developers.google.com/analytics/devguides/collection/gtagjs
699+
[gdev-tm]: https://developers.google.com/tag-manager
581700
[gdev-web-fund-rwd]: https://developers.google.com/web/fundamentals/design-and-ux/responsive
701+
[gdev-web-pwa]: https://developers.google.com/web/progressive-web-apps
582702
[gf-rubik]: https://fonts.google.com/specimen/Rubik
583703
[gf-source-code-pro]: https://fonts.google.com/specimen/Source+Code+Pro
584704
[gh-1]: https://github.com/arcticicestudio/nord-docs/issues/1
@@ -603,6 +723,15 @@ Note that packages marked with an double exclamation mark `‼` have been affect
603723
[gh-74]: https://github.com/arcticicestudio/nord-docs/issues/74
604724
[gh-78]: https://github.com/arcticicestudio/nord-docs/issues/78
605725
[gh-84]: https://github.com/arcticicestudio/nord-docs/issues/84
726+
[gh-86]: https://github.com/arcticicestudio/nord-docs/issues/86
727+
[gh-87]: https://github.com/arcticicestudio/nord-docs/issues/87
728+
[gh-89]: https://github.com/arcticicestudio/nord-docs/issues/89
729+
[gh-91]: https://github.com/arcticicestudio/nord-docs/issues/91
730+
[gh-94]: https://github.com/arcticicestudio/nord-docs/issues/94
731+
[gh-96]: https://github.com/arcticicestudio/nord-docs/issues/96
732+
[gh-98]: https://github.com/arcticicestudio/nord-docs/issues/98
733+
[gh-100]: https://github.com/arcticicestudio/nord-docs/issues/100
734+
[gh-101]: https://github.com/arcticicestudio/nord-docs/issues/101
606735
[gh-bsl]: https://github.com/willmcpo/body-scroll-lock
607736
[gh-community-profile]: https://github.com/arcticicestudio/nord-docs/community
608737
[gh-eslint-config-arcticicestudio]: https://github.com/arcticicestudio/eslint-config-arcticicestudio
@@ -617,6 +746,7 @@ Note that packages marked with an double exclamation mark `‼` have been affect
617746
[gh-jest-dom-matcher]: https://github.com/gnapse/jest-dom#custom-matchers
618747
[gh-jsc]: https://github.com/styled-components/jest-styled-components
619748
[gh-lint-staged]: https://github.com/okonet/lint-staged
749+
[gh-react-helmet]: https://github.com/nfl/react-helmet
620750
[gh-remark-lint]: https://github.com/remarkjs/remark-lint
621751
[gh-remark-preset-lint-arcticicestudio]: https://github.com/arcticicestudio/remark-preset-lint-arcticicestudio
622752
[gh-rtl]: https://github.com/kentcdodds/react-testing-library
@@ -629,6 +759,7 @@ Note that packages marked with an double exclamation mark `‼` have been affect
629759
[git-docs-mailmap]: https://git-scm.com/docs/git-shortlog#_mapping_authors
630760
[inter-ui]: https://rsms.me/inter
631761
[jest]: https://jestjs.io
762+
[json-ld]: https://json-ld.org
632763
[md]: https://material.io
633764
[md-com-es]: https://material.io/design/communication/empty-states.html
634765
[md-motion-speed]: https://material.io/design/motion/speed.html
@@ -643,9 +774,12 @@ Note that packages marked with an double exclamation mark `‼` have been affect
643774
[mdn-ls]: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
644775
[mdn-mq]: https://developer.mozilla.org/de/docs/Web/CSS/Media_Queries/Using_media_queries
645776
[mdn-ss]: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
777+
[mdn-web-mf]: https://developer.mozilla.org/en-US/docs/Web/Manifest
646778
[mit-lic]: https://opensource.org/licenses/MIT
647779
[mobx]: https://mobx.js.org
648780
[netlify]: https://www.netlify.com
781+
[netlify-docs-headers]: https://www.netlify.com/docs/headers-and-basic-auth
782+
[netlify-docs-rd]: https://www.netlify.com/docs/redirects
649783
[netlify-docs-toml-ref]: https://www.netlify.com/docs/netlify-toml-reference
650784
[npm-docs-lock]: https://docs.npmjs.com/files/package-locks
651785
[npm-docs-pkg]: https://docs.npmjs.com/files/package.json
@@ -659,6 +793,7 @@ Note that packages marked with an double exclamation mark `‼` have been affect
659793
[npm-react]: https://www.npmjs.com/package/react
660794
[npm-react-dom]: https://www.npmjs.com/package/react-dom
661795
[npm-remark-cli]: https://www.npmjs.com/package/remark-cli
796+
[ogp]: http://ogp.me
662797
[ossg]: https://opensource.guide
663798
[ossg-contrib]: https://opensource.guide/how-to-contribute
664799
[polished]: https://polished.js.org
@@ -668,6 +803,7 @@ Note that packages marked with an double exclamation mark `‼` have been affect
668803
[react-docs-typecheck-pt]: https://reactjs.org/docs/typechecking-with-proptypes.html
669804
[react-pose]: https://popmotion.io/pose
670805
[remark]: https://remark.js.org
806+
[schema.org]: https://schema.org
671807
[stc-docs-globstyle]: https://www.styled-components.com/docs/api#createglobalstyle
672808
[stc-docs-mqt]: https://www.styled-components.com/docs/advanced#media-templates
673809
[stc-docs-thprov]: https://www.styled-components.com/docs/api#themeprovider
@@ -676,10 +812,16 @@ Note that packages marked with an double exclamation mark `‼` have been affect
676812
[styleguide-javascript]: https://arcticicestudio.github.io/styleguide-javascript
677813
[styleguide-markdown]: https://arcticicestudio.github.io/styleguide-markdown
678814
[svgr]: https://www.smooth-code.com/open-source/svgr
815+
[tw-docs-cards]: https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started.html
679816
[typescript]: https://www.typescriptlang.org
817+
[w3-spec-mf]: https://www.w3.org/TR/appmanifest
680818
[webpack]: https://webpack.js.org
681819
[webpack-docs-resv-alias]: https://webpack.js.org/configuration/resolve/#resolve-alias
682820
[wiki-404]: https://en.wikipedia.org/wiki/HTTP_404
821+
[wiki-pwa]: https://en.wikipedia.org/wiki/Progressive_web_applications
822+
[wiki-robotstxt]: https://en.wikipedia.org/wiki/Robots_exclusion_standard
823+
[wiki-sitemap]: https://en.wikipedia.org/wiki/Site_map
824+
[workbox]: https://developers.google.com/web/tools/workbox
683825

684826
<!-- v0.1.0 -->
685827

@@ -719,3 +861,17 @@ Note that packages marked with an double exclamation mark `‼` have been affect
719861
[gh-jsc-matcher]: https://github.com/styled-components/jest-styled-components#tohavestylerule
720862
[gh-svgr-wpl]: https://github.com/smooth-code/svgr/tree/master/packages/webpack
721863
[npm-gp-svgr]: https://www.npmjs.com/package/gatsby-plugin-svgr
864+
865+
<!-- v0.4.0 -->
866+
867+
[babel-rln-7.2.0]: https://babeljs.io/blog/2018/12/03/7.2.0
868+
[gh-gatsby-p-gtag]: https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-google-gtag
869+
[gh-gatsby-p-manifest]: https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-manifest
870+
[gh-gatsby-p-offline]: https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-offline
871+
[gh-gatsby-p-robots-txt]: https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-robots-txt
872+
[gh-gatsby-p-sitemap]: https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-sitemap
873+
[gsup-ga-anonip]: https://support.google.com/analytics/answer/2763052
874+
[npm-gatsby-plugin-manifest]: https://www.npmjs.com/package/gatsby-plugin-manifest
875+
[npm-gatsby-plugin-netlify]: https://www.npmjs.com/package/gatsby-plugin-netlify
876+
[npm-gatsby-plugin-offline]: https://www.npmjs.com/package/gatsby-plugin-offline
877+
[react-rln-16.7.0]: https://reactjs.org/blog/2018/12/19/react-v-16-7.html

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "nord-docs",
33
"title": "Nord Docs",
4-
"version": "0.3.0",
4+
"version": "0.4.0",
55
"description": "The official Nord website and documentation",
66
"author": {
77
"name": "Arctic Ice Studio",

0 commit comments

Comments
 (0)