Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

Releases: MoOx/phenomic

0.19.3

22 Nov 18:58
Compare
Choose a tag to compare

🍭 This bugfixes are a good thing and have been detected since we use 2
different Phenomic projects for our documentation website:
one at the root, for the main documentation website and
one under /themes/base/demo/ which host the base theme as a demo.

  • 🐛 Fixed: Do not catch links that are not under the current base path
    (@MoOx)
  • 🐛 Fixed: Avoid catching unwanted <Link> that can be children of a
    <PageContainer> instance by cleaning up all links listeners on each
    <PageContainer> updates.
    (@MoOx)
  • 🐛 Fixed: Phenomic <Link> understand collection links without the base
    path.
    ⚠️
One caveat is now you can’t use <Link> to point to a path before the current
    project base path.
    This is probably and edge case, more than the case we are fixing here.
    We might revisit this issue when refactoring how collection is handled and
    rendered.
    (@MoOx)
  • 🐛 Fixed: when a <Link> explicitly receive an absolute url from the same
    domain, but not the same project base path, a normal <a> is rendered
    (@MoOx)

0.19.2

22 Nov 15:18
Compare
Choose a tag to compare

broken: npm published a incomplete package which resulted in an error during
installation: Cannot find module '...phenomic/npm/postinstall.js'

0.19.1

22 Nov 12:04
Compare
Choose a tag to compare
  • 🐛 Fixed: static build does not write phenomic assets as if they were handled by react-helmet.
    This fix the issue where phenomic CSS are removed from the page when
    client script take the relay.
    (@MoOx)

0.19.0

22 Nov 07:37
Compare
Choose a tag to compare

This release contains only a minor breaking change (less strict CSS linting)
that you can adjust in a few seconds.

🎉 A cool new "feature" is a brand new base theme for new projects.
This base theme is not only prettier than before but it's also a good starting
point with multiples interesting examples to leverage Phenomic features!

phenomic-0 19-new-base-theme

💥 (Minor) Breaking change

  • 💥 Removed: stylelint-config-standard has been removed from our recommended
    stylelint config in favor of a minimal number of rules to prevent errors only.
    This change has been made to make Phenomic more easier to play with.
    If you want the previous config, just extend stylelint-config-standard
    directly.
    (@MoOx)

🚨 Minor change

  • 🚨 Changed: phenomic/lib/Link has been relocated.
    To prevent issue in the future, it is now accessible with
    import { Link } from "phenomic".
    The old reference still works but will show you a warning and will be removed
    in the future.
    (@MoOx)

🐛 Bugfixes

  • 🐛 Fixed: Non ASCII characters in filenames break the static build.
    Filesystem filename (de)conversion (url decoding) was not correctly made before accessing data during the static build.
    (#878 - @MoOx)
  • 🐛 Fixed: Add missing homepage field in package.json which fix process.env.PHENOMIC_HOMEPAGE
    (@MoOx)

✨ New features

  • ✨ Added: Link can now be used for unknow links (internal or external).
    Current react-router Link implementation just crash if you use an
    external link. Phenomic now wrap this by providing a unique API.
    This is especially handy if you generate links from unknown data
    (eg: markdow front-matter value that can point to internal or external pages)
    (@MoOx)
  • ✨ Added: full support for Yarn.
    Phenomic is now fully tested using Yarn (via Travis-CI) as well as npm
    (via Circle-CI) on Unix system.
    Windows support is only ensured with npm (Appveyor).
    (#872 - @dflynn15 & @MoOx)
  • ✨ Added: new clientScripts option to disable all JavaScript code 🙃.
    This allows you to turn Phenomic into a standard static website generator
    (#874 - @MoOx)
  • ✨ Added: support for Glamor and Aphrodite out of the box.
    You can look at the dedicated documentation for this for more information
    (#864 - @MoOx)
  • ✨ Added: message when you start the development server with JavaScript disabled
    (@MoOx)

Base theme

  • 🎉 Changed: base theme has been completely redesigned.
    Now includes more components and examples of how you can leverage Phenomic.
    (@MoOx)
  • ✨ Added: hot loading for PostCSS config in base theme.
    A discussion is now open to push this solution in postcss-loader
    but until it is, you can use this solution to get hot loading for your PostCSS
    config. Very handy for development.
    (@MoOx)

0.18.1

09 Nov 21:25
Compare
Choose a tag to compare

Bugfixes, including small proptypes issues for new projects (since 0.18.0).
We also introduced a less strict stylelint config, like we made for eslint
recently.

  • Fixed: don't intercept clicks on links (<a>) with no href
    (#867 - @grncdr)

  • Added: new stylelint recommended config that fit phenomic base theme
    (#849 - @xuopled)

Base theme

  • Fixed: remove React warnings related to new way to load pages
    (#868 - @MoOx)
  • Added: Integration of the new styleint recommended config
    (#849 - @xuopled)

0.18.0

03 Nov 11:00
Compare
Choose a tag to compare

🎉 Optimistic loading is now a thing!
You can see this in action on Phenomic documentation by throttling the network
connection using your browser developer tools with a slow connection.

phenomic-optimistic-loading

This release should not bring any major breaking change so you should be
available to update very easily (probably by just bumping version number and renaming webpack.config.babel.js to webpack.config.js)
.

  • Added: layouts can now receive partial data accompanied with a loading flag
    (isLoading props)
    Now, if you remove your PageLoading layouts, you will automatically receive partial data in the correct (future) layout (only head, body won't be defined until isLoading is != true).
    Should not be a breaking change if you do still use PageLoading.
    If you still use PageLoading, you can define a static property in some
    layouts to tell Phenomic to send an isLoading props to your specific
    layout instead of using PageLoading for this specific transition.
    You can refer to the minimal change you can do in the docs code if you want to replace PageLoading usage by optimistic loading via isLoading props.
    This probably allows you to handle page transitions more easily since similar
    layouts won't be unmounted.
    (#855 - @DavidWells & @MoOx)
  • Added: If site is already open in Chrome on macOS, we reuse the existing tab
    instead of opening a new one
    (#854 - @DavidWells)
  • Added: less restriction on babel-register hook
    You can now use webpack.config.js instead of
    webpack.config.babel.js and so import es2015 files in webpack
    configuration file.
    (#450 - @MoOx)
  • Removed: webpack build notifications
    If you want to add notifications back, please directly use
    webpack-notifier.
    We will add a better, more accurate option later
    (#859 - @MoOx)
  • Added: support of text, textile, text2tags, asciidoc file extensions
    for clean urls

    (#852 - @MoOx)

0.17.12

25 Oct 03:20
Compare
Choose a tag to compare
  • Fixed: Linter errors from base theme have been removed
    (#838 - @montogeek)

0.17.11

22 Oct 06:29
Compare
Choose a tag to compare
  • Fixed: package.json is correctly populated during setup
    (#835 - @MoOx)

0.17.10

21 Oct 19:58
Compare
Choose a tag to compare

0.17.9

20 Oct 10:55
Compare
Choose a tag to compare

In short:

  • Some errors related to cache option have been fixed.
  • Base theme now provides a less strict eslint config.
  • Documentation has been updated and now includes new sections
    to use Netlify (for deploy & as a CMS)
  • We added some new websites to the
    showcase

Details

  • Fixed: some errors related to cache option by upgrading a dependency
    (@MoOx)
  • Added: support for .markdown extension files.
    This allows to use SiteLeaf as a CMS
    (#829 - @xuopled)

Base theme

  • Changed: base theme now provides a less strict eslint config
    (only eslint + eslint-plugin-react recommended rules via a
    preset - might be moved in it's own package in the future)
    (@MoOx)
  • Changed: update babel-eslint to ^7.0.0
    (@MoOx)
  • Added: babel-plugin-transform-react-jsx-source and
    babel-plugin-transform-react-jsx-self for easier React debugging