Releases: MoOx/phenomic
0.19.3
🍭 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
0.19.1
0.19.0
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!
💥 (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 extendstylelint-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).
Currentreact-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
andAphrodite
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 inpostcss-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
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
0.18.0
🎉 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.
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 yourPageLoading
layouts, you will automatically receive partial data in the correct (future) layout (only head, body won't be defined untilisLoading
is != true).
Should not be a breaking change if you do still usePageLoading
.
If you still usePageLoading
, you can define a static property in some
layouts to tell Phenomic to send anisLoading
props to your specific
layout instead of usingPageLoading
for this specific transition.
You can refer to the minimal change you can do in the docs code if you want to replacePageLoading
usage by optimistic loading viaisLoading
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 usewebpack.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
0.17.11
0.17.10
0.17.9
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
(onlyeslint
+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