Skip to content

Commit 983e82b

Browse files
committed
Merge branch 'release/2.0.1' into craft-webpack
2 parents b5aaa0e + b67758d commit 983e82b

File tree

4 files changed

+184
-3
lines changed

4 files changed

+184
-3
lines changed

CHANGELOG.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# nystudio107/craft Change Log
2+
3+
## 2.0.1 - 2018.08.15
4+
### Changed
5+
* Numerous template changes to get the base build working
6+
7+
## 2.0.0 - 2018.08.14
8+
### Changed
9+
* Updated to use modern webpack config
10+
* Updated to use Craft 3.2 as the baseline
11+
12+
## 1.0.16 - 2018.05.24
13+
### Changed
14+
* Removed references to the Craft RC in the `composer.json`
15+
* Added SEOmatic to the list of base plugins
16+
* Change the Critical CSS loader to `onload="this.onload=null;this.rel='stylesheet'"` for IE 11 compatibility
17+
18+
## 1.0.15 - 2018.02.19
19+
### Changed
20+
* Updated `composer.json` to reflect the updated dependencies
21+
* Fixed the site module's controller namespacing
22+
* Added `sort-packages` to the `composer.json`
23+
* Added `async-queue` plugin
24+
25+
## 1.0.14 - 2018.02.01
26+
### Changed
27+
* Fixed composer dependencies to reflect the `nystudio107/craft-` renaming
28+
29+
## 1.0.13 - 2018.01.26
30+
### Changed
31+
* Tell Composer to install PHP 7.0-compatible dependencies
32+
* Fixed `sitemodule` namespacing
33+
34+
## 1.0.12 - 2018.01.25
35+
### Changed
36+
* Switched from `craft.app.config.general.custom.baseUrl` to `alias('@baseUrl')`
37+
38+
## 1.0.11 - 2018.01.23
39+
### Added
40+
* Added `post-install-cmd` to `composer.json`
41+
42+
## 1.0.10 - 2018.01.18
43+
### Changed
44+
* Synced the `modules/site` with `site-module` and pluginfactory.io generated modules
45+
46+
## 1.0.9 - 2018.01.06
47+
### Added
48+
* Added a static asset filename-based cache busting `LocalValetDriver.php` for Laravel Valet
49+
50+
## 1.0.8 - 2018.01.01
51+
### Added
52+
* Added a better PurgeCSS pipeline
53+
* Added a `purgecssWhitelist` to `package.json`
54+
* Execute JavaScript when doing Critical CSS
55+
* Added a `criticalWhitelist` to `package.json`
56+
* Added SiteModule framework to nystudio107/craft
57+
* Added a `post-update-cmd` to `composer.json` to recreate any symlinks that may have been removed after a `composer update` or `composer install`
58+
59+
## 1.0.7 - 2017.12.16
60+
### Added
61+
* Added `purgecss` to production builds
62+
* Added automatic incrementing of `staticAssetsVersion` for production builds
63+
64+
## 1.0.6 - 2017.12.16
65+
### Changed
66+
* Updated to use the latest `critical` package, adjusted `gulpfile.js` base path
67+
68+
## 1.0.5 - 2017.12.13
69+
### Changed
70+
* Slurp whitespace with the minify tags
71+
* Fix favicon URLs/meta
72+
* Fix manifest
73+
74+
## 1.0.4 - 2017.12.06
75+
### Changed
76+
* Fixed asset versioning in `sw.js`
77+
* Run all inline JavaScript through `js-babel` for ES6 goodness
78+
79+
### Added
80+
* Added base VueJS and Axios support
81+
82+
## 1.0.3 - 2017.12.05
83+
### Changed
84+
* Updated for Craft CMS 3 RC1 release
85+
86+
## 1.0.2 - 2017.12.04
87+
### Changed
88+
* Fixed deprecation errors
89+
* Cleaned up the default ServiceWorker in `sw.js`
90+
* Added Fontello CSS to the `package.json`
91+
* Added PhpStorm Craft app API type hinting
92+
93+
## 1.0.1 - 2017.12.01
94+
### Added
95+
* Added accessible tabhandler.js
96+
* Added Tailwind CSS
97+
* Added support for Redis via `app.php`
98+
* Fixed `package.json` paths for `web/`
99+
* Cleaned up the default templates
100+
* Added `src/conf/` for Nginx or other configuration files
101+
102+
## 1.0.0 - 2017.11.26
103+
### Added
104+
* Initial release
105+
106+
Brought to you by [nystudio107](https://nystudio107.com/)

README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,69 @@
1+
<p align="center"><a href="https://craftcms.com/" target="_blank"><img width="300" height="300" src="https://nystudio107.com/img/site/nystudio107_submark.svg" alt="nystudio107"></a></p>
2+
3+
## About nystudio107/craft
4+
5+
This is an alternate scaffolding package for Craft 3 CMS projects to Pixel & Tonic's canonical [craftcms/craft](https://github.com/craftcms/craft) package.
6+
7+
The project is based on [Craft CMS](https://CraftCMS.com) using a unique `templates/_boilerplate` system for web/AJAX/AMP pages, and implements a number of technologies/techniques:
8+
9+
* [webpack](https://webpack.js.org/) is used for the build system as per [An Annotated webpack 4 Config for Frontend Web Development](https://nystudio107.com/blog/an-annotated-webpack-4-config-for-frontend-web-development)
10+
* [VueJS](https://vuejs.org/) is used for some of the interactive bits on the website as per
11+
* [Tailwind CSS](https://tailwindcss.com/) for the site-wide CSS
12+
* JSON-LD structured data as per [Annotated JSON-LD Structured Data Examples](https://nystudio107.com/blog/annotated-json-ld-structured-data-examples)
13+
* [Google AMP](https://developers.google.com/amp/) versions of the podcast episode and other pages
14+
* Implements a Service Worker via Google's [Workbox](https://developers.google.com/web/tools/workbox/) as per [Service Workers and Offline Browsing](https://nystudio107.com/blog/service-workers-and-offline-browsing)
15+
* Critical CSS as per [Implementing Critical CSS on your website](https://nystudio107.com/blog/implementing-critical-css)
16+
* Frontend error handling as per [Handling Errors Gracefully in Craft CMS](https://nystudio107.com/blog/handling-errors-gracefully-in-craft-cms)
17+
* A custom site module as per [Enhancing a Craft CMS 3 Website with a Custom Module](https://nystudio107.com/blog/enhancing-a-craft-cms-3-website-with-a-custom-module)
18+
* CLI-based queue as per [Robust queue job handling in Craft CMS](https://nystudio107.com/blog/robust-queue-job-handling-in-craft-cms)
19+
* FastCGI Static Cache as per [Static Page Caching with Craft CMS](https://nystudio107.com/blog/static-caching-with-craft-cms)
20+
* [Craft-Scripts](https://github.com/nystudio107/craft-scripts) as described in the [Database & Asset Syncing Between Environments in Craft CMS](https://nystudio107.com/blog/database-asset-syncing-between-environments-in-craft-cms), [Mitigating Disaster via Website Backups](https://nystudio107.com/blog/mitigating-disaster-via-website-backups) & [Hardening Craft CMS Permissions](https://nystudio107.com/blog/hardening-craft-cms-permissions) articles
21+
22+
...and probably a bunch of other stuff too.
23+
24+
The following Craft CMS plugins are used on this site:
25+
* [FastCGI Cache Bust](https://nystudio107.com/plugins/fastcgi-cache-bust) - to bust the FastCGI cache whenever entries are modified
26+
* [ImageOptimize](https://nystudio107.com/plugins/imageoptimize) - for the optimized images and `srcset`s used on the site
27+
* [Minify](https://nystudio107.com/plugins/minify) - to minify the HTML and inline JS/CSS
28+
* [Retour](https://nystudio107.com/plugins/retour) - for setting up 404 redirects
29+
* [SEOmatic](https://nystudio107.com/plugins/seomatic) - for handling site-side SEO
30+
* [Twigpack](https://nystudio107.com/plugins/twigpack) - for loading webpack-generated `manifest.json` resources in a modern way
31+
* [Typogrify](https://nystudio107.com/plugins/typogrify) - for smart quotes and other typographic ligatures
32+
* [Webperf](https://nystudio107.com/plugins/webperf) - for monitoring web performance
33+
34+
You can read more about it in the [Setting up a New Craft 3 CMS Project](https://nystudio107.com/blog/setting-up-a-craft-cms-3-project) article.
35+
36+
## Using nystudio107/craft
37+
38+
This project package works exactly the way Pixel & Tonic's [craftcms/craft](https://github.com/craftcms/craft) package works; you create a new project by first creating & installing the project:
39+
40+
composer create-project nystudio107/craft PATH
41+
42+
Make sure that `PATH` is the path to your project, including the name you want for the project, e.g.:
43+
44+
composer create-project nystudio107/craft craft3
45+
46+
Then `cd` to your new project directory, and run Craft's `setup` console command to create your `.env` environments and optionally install:
47+
48+
cd PATH
49+
./craft setup
50+
51+
Finally, run the `nys-setup` command to configure Craft-Scripts based on your newly created `.env` settings:
52+
53+
./nys-setup
54+
55+
That's it, enjoy!
56+
57+
If you ever delete the `vendor` folder or such, just re-run:
58+
59+
./nys-setup
60+
61+
...and it will re-create the symlink to your `.env.sh`; don't worry, it won't stomp on any changes you've made.
62+
63+
Below is the entire intact, unmodified `README.md` from Pixel & Tonic's [craftcms/craft](https://github.com/craftcms/craft):
64+
65+
.....
66+
167
<p align="center"><a href="https://craftcms.com/" target="_blank"><img width="312" height="90" src="https://craftcms.com/craftcms.svg" alt="Craft CMS"></a></p>
268

369
## About Craft CMS

composer.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "craftcms/craft",
3-
"description": "Craft CMS",
3+
"description": "nystudio107 Craft 3.2 CMS scaffolding project",
4+
"version": "2.0.1",
45
"keywords": [
56
"craft",
67
"cms",
@@ -19,7 +20,7 @@
1920
"rss": "https://craftcms.com/changelog.rss"
2021
},
2122
"require": {
22-
"craftcms/cms": "^3.0.0",
23+
"craftcms/cms": "^3.2.0",
2324
"vlucas/phpdotenv": "^3.4.0"
2425
},
2526
"autoload": {

webpack.prod.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,22 @@ class TailwindExtractor {
4545

4646
// Configure file banner
4747
const configureBanner = () => {
48+
let commitHash = 'n/a';
49+
let branch = 'n/a';
50+
try {
51+
let commitHash = git.long();
52+
let branch = git.branch();
53+
} catch(error) {
54+
console.log('No git repository is associated with this project');
55+
}
4856
return {
4957
banner: [
5058
'/*!',
5159
' * @project ' + settings.name,
5260
' * @name ' + '[filebase]',
5361
' * @author ' + pkg.author.name,
5462
' * @build ' + moment().format('llll') + ' ET',
55-
' * @release ' + git.long() + ' [' + git.branch() + ']',
63+
' * @release ' + commitHash + ' [' + branch + ']',
5664
' * @copyright Copyright (c) ' + moment().format('YYYY') + ' ' + settings.copyright,
5765
' *',
5866
' */',

0 commit comments

Comments
 (0)