Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nord Docs Transition #114

Merged
merged 3 commits into from
Mar 16, 2019
Merged

Conversation

arcticicestudio
Copy link
Contributor

@arcticicestudio arcticicestudio commented Mar 16, 2019

Resolves #112

All documentations and assets have been moved to the official Nord website and documentation.

Previews

Colors and Palettes

Preview: Colors and Palettes

Installation and Usage

Preview: Installation and Usage

Color Swatches

Preview: Color Swatches

Since almost all Arctic Ice Studio projects already completely moved to
Circle CI (1) as single CI provider Nord will now also retire the
Travis CI (2) builds. It is not necessary to run both Circle CI and
Travis CI at the same time since the Circle CI API version 2.x (3) is by
far more advanced and provides all features of Travis CI.

References:
  (1) https://travis-ci.org
  (2) https://circleci.com
  (3) https://circleci.com/docs

GH-112
This includes copyright headers with outdated addresses and formats,
unused configuration properties and up-to-date best config practices.

GH-112
I'm hyped and happy that the initial launch (1) of Nord Docs, the shiny
new website and documentation of Nord, was finally announced (2).
The release 0.10.0 (3) marks the last version before the next release
(0.11.0) that'll be deployed to the production environment/domain at
https://www.nordtheme.com.

>> Time To Say Goodbye

The previously used website (4) (https://arcticicestudio.github.io/nord)
was hosted by GitHub Pages (5) using an deprecated GitBook version with
an bare template. It was created some time ago to provide at least a
simple website instead of only documenting the project in the README,
but this was always planned as a transitional solution.

>> Shiny New Home

Starting from version 0.11.0, all documentations and content assets are
located and served from Nord Docs, the new single-source-of-truth.
At the same time with the initial launch of the new website the old site
will be wiped completely and replaced by a simple `index.html` file that
includes a `<meta http-equiv="refresh" />` element to redirect all users
to the new domain.

>> Other changes

There are also some other changes that took place with this transition:

>>> No rendered SassDoc anymore

The Sass color palettes of Nord were documented with SassDoc from which
a static HTML was generated. Nord's build tools allowed to run this
generation and also uses a custom theme for the resulting HTML site.
Starting from the transition, the generation of the SassDoc files have
been removed from Nord including the development dependency for the
custom documentation theme!
Since the sources itself are not changed the used documentation syntax
is still used and there is no breaking change.

This comes with three advantages:

1. Nord maintainers are not responsible for also keeping these docs
   up-to-date as well as developing a documentation theme that matches
   Nord's style.
2. Users are able to simply generate it on their own using their
   preferred custom documentation theme.
3. The build process has been simplified and the additional step of
   deploying the generated docs manually to GitHub Pages is not
   necessary anymore.

According to the statistics the traffic hits for the SassDoc page was
almost dead (95% are search engines and bots) so the impact is almost
invisible.

>>> No optimized CSS module anymore

Previously it was possible to build a optimized CSS module (6) using the
`npm run optimize:css` command. This was done by using the clean-css (7)
package to optimize, clean and minify the CSS module and saving it as
`build/nord.css`. This also required to adjust the import path from
`node_modules/nord/src/nord.css` to `node_modules/nord/dist/nord.css`.

Since most users are building projects using a bundler like Webpack (8),
which takes care of optimizing the CSS module including the addition of
vendor prefixes, it is not necessary to provide such an optimized CSS
module. The result of the bundlers are generally more accurate,
up-to-date, matches the users preferred optimization rules and ensures
it fits the projects data processing flow.

Removing the optimized CSS module comes with the positive effects of
also removing more development dependencies.

>>> Lightweight And Simpler

Since all documentations will be served by Nord Docs there is no more
need for the `docs:dev` and `docs:build` npm commands and the logic
that behind them. This includes the deletion of the deprecated GitBooks
(dev)dependency and the whole `docs` directory with the actual Markdown
documentation source files.

There are also currently a lot of assets for Nord and all of its port
project included in the repository (9). Most of them have also been
moved to Nord Docs (or will be replaced by already existing ones) while
many have been deleted since they are not used and required anymore.

All these changes made Nord more lightweight with and cleaner structure
and simplified the build stack enormously.

>> Statistic Comparison

```raw
| Name                         | Value     | Level of concern          |
| ---------------------------- | --------- | ------------------------- |
| Overall repository size      |           |                           |
| * Commits                    |           |                           |
|   * Count                    |   173     |                           |
|   * Total size               |  67.4 KiB |                           |
| * Trees                      |           |                           |
|   * Count                    |   332     |                           |
|   * Total size               |   183 KiB |                           |
|   * Total tree entries       |  4.19 k   |                           |
| * Blobs                      |           |                           |
|   * Count                    |   387     |                           |
|   * Total size               |  58.7 MiB |                           |
| * Annotated tags             |           |                           |
|   * Count                    |     2     |                           |
| * References                 |           |                           |
|   * Count                    |    12     |                           |
|                              |           |                           |
| Biggest objects              |           |                           |
| * Commits                    |           |                           |
|   * Maximum size         [1] |  1.30 KiB |                           |
|   * Maximum parents      [2] |     2     |                           |
| * Trees                      |           |                           |
|   * Maximum entries      [3] |    96     |                           |
| * Blobs                      |           |                           |
|   * Maximum size         [4] |  3.48 MiB |                           |
|                              |           |                           |
| History structure            |           |                           |
| * Maximum history depth      |   154     |                           |
| * Maximum tag depth      [5] |     1     |                           |
|                              |           |                           |
| Biggest checkouts            |           |                           |
| * Number of directories  [6] |    18     |                           |
| * Maximum path depth     [6] |     4     |                           |
| * Maximum path length    [6] |    51 B   |                           |
| * Number of files        [7] |   141     |                           |
| * Total size of files    [7] |  49.9 MiB |                           |
| * Number of symlinks         |     0     |                           |
| * Number of submodules       |     0     |                           |
```

The report has been generated using GitHub's awesome git-sizer (11):
`git-sizer --verbose`

References:
  (1) nordtheme/web#1
  (2) https://twitter.com/arcticicestudio/status/1104494647383068673
  (3) https://github.com/arcticicestudio/nord-docs/releases/tag/v0.10.0
  (4) https://arcticicestudio.github.io/nord
  (5) https://pages.github.com
  (6) https://arcticicestudio.github.io/nord/development/building.html#optimized-css-module
  (7) https://www.npmjs.com/package/clean-css
  (8) https://webpack.js.org
  (9) https://github.com/arcticicestudio/nord/tree/develop/assets
  (10) https://github.com/github/git-sizer

GH-112
@arcticicestudio arcticicestudio merged commit b7146ac into develop Mar 16, 2019
@arcticicestudio arcticicestudio deleted the feature/gh-112-nord-docs-transition branch March 16, 2019 20:47
@arcticicestudio arcticicestudio removed their assignment Mar 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nord Docs Transition
2 participants