From efa557f89dffd3fd9de3c555bd50f89a4d703f95 Mon Sep 17 00:00:00 2001 From: HutchGrant Date: Sat, 11 Jul 2020 20:36:58 -0400 Subject: [PATCH 1/7] task: replace MYROUTES with --- packages/cli/src/lifecycles/scaffold.js | 2 +- packages/cli/src/templates/app-template.js | 2 +- .../src/templates/app-template.js | 2 +- www/pages/docs/layouts.md | 4 ++-- www/templates/app-template.js | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/lifecycles/scaffold.js b/packages/cli/src/lifecycles/scaffold.js index f2145e4d6..a5930e91d 100644 --- a/packages/cli/src/lifecycles/scaffold.js +++ b/packages/cli/src/lifecycles/scaffold.js @@ -84,7 +84,7 @@ const writeRoutes = async(compilation) => { >`; }); - const result = data.toString().replace(/MYROUTES/g, routes.join('')); + const result = data.toString().replace(/<\/routes>/g, routes.join('')); // Create app directory so that app-template relative imports are correct const appDir = path.join(compilation.context.scratchDir, 'app'); diff --git a/packages/cli/src/templates/app-template.js b/packages/cli/src/templates/app-template.js index 1016c49aa..2ba40093b 100644 --- a/packages/cli/src/templates/app-template.js +++ b/packages/cli/src/templates/app-template.js @@ -92,7 +92,7 @@ class AppComponent extends LitElement { render() { return html` - MYROUTES +

404 Not found

`; } diff --git a/packages/cli/test/cases/build.default.workspace-template-app/src/templates/app-template.js b/packages/cli/test/cases/build.default.workspace-template-app/src/templates/app-template.js index ce3d2d4be..a6d95f671 100644 --- a/packages/cli/test/cases/build.default.workspace-template-app/src/templates/app-template.js +++ b/packages/cli/test/cases/build.default.workspace-template-app/src/templates/app-template.js @@ -40,7 +40,7 @@ class AppComponent extends LitElement { render() { return html` - MYROUTES +

My Custom App Template

`; } diff --git a/www/pages/docs/layouts.md b/www/pages/docs/layouts.md index 1d10e4623..76245ecdc 100644 --- a/www/pages/docs/layouts.md +++ b/www/pages/docs/layouts.md @@ -87,13 +87,13 @@ import '../index/index.js'; // Finally we can connect to our store and define our component. connectRouter(store); -// Add the MY-ROUTES(without dash) predefined hook. This is where all your routes will be loaded. +// Add the -(without the dash) predefined hook. This is where all your routes will be loaded. // You may also opt to define a custom 404 route here. // You must define the app-template with the element name eve-app class AppComponent extends LitElement { render() { return html\` - MYROUTES +

404 Not found

\`; } diff --git a/www/templates/app-template.js b/www/templates/app-template.js index 39ed1cdd1..053c4e978 100644 --- a/www/templates/app-template.js +++ b/www/templates/app-template.js @@ -105,7 +105,7 @@ class AppComponent extends LitElement {
- MYROUTES +

404 Not found

From f0e6f4f6f8f6ada5ddf7ab9741f4489344343c2a Mon Sep 17 00:00:00 2001 From: HutchGrant Date: Sat, 11 Jul 2020 20:57:01 -0400 Subject: [PATCH 2/7] task: remove need for MDIMPORT --- packages/cli/src/lifecycles/scaffold.js | 11 +++++++---- packages/cli/src/templates/page-template.js | 1 - www/pages/docs/layouts.md | 6 ------ www/templates/home-template.js | 2 -- www/templates/page-template.js | 2 -- 5 files changed, 7 insertions(+), 15 deletions(-) diff --git a/packages/cli/src/lifecycles/scaffold.js b/packages/cli/src/lifecycles/scaffold.js index a5930e91d..53fa7af01 100644 --- a/packages/cli/src/lifecycles/scaffold.js +++ b/packages/cli/src/lifecycles/scaffold.js @@ -10,11 +10,14 @@ const writePageComponentsFromTemplate = async (compilation) => { : path.join(context.templatesDir, `${file.template}-template.js`); const templateData = await fs.readFile(pageTemplatePath, 'utf8'); - - let result = templateData.toString().replace(/entry/g, `wc-md-${file.label}`); - + let result = templateData.toString().replace(/entry/g, `wc-md-${file.label}`) + ; + const litElementStr = "'lit-element';"; + let litElementIndex = result.lastIndexOf(litElementStr); + litElementIndex = litElementIndex + litElementStr.length; + + result = `${result.slice(0, litElementIndex)}\nimport '${file.mdFile}';${result.slice(litElementIndex)}`; result = result.replace(/page-template/g, `eve-${file.label}`); - result = result.replace(/MDIMPORT;/, `import '${file.mdFile}';`); resolve(result); } catch (err) { diff --git a/packages/cli/src/templates/page-template.js b/packages/cli/src/templates/page-template.js index 77bc375f2..894fa40e0 100644 --- a/packages/cli/src/templates/page-template.js +++ b/packages/cli/src/templates/page-template.js @@ -1,5 +1,4 @@ import { html, LitElement } from 'lit-element'; -MDIMPORT; class PageTemplate extends LitElement { render() { diff --git a/www/pages/docs/layouts.md b/www/pages/docs/layouts.md index 76245ecdc..f489a572b 100644 --- a/www/pages/docs/layouts.md +++ b/www/pages/docs/layouts.md @@ -41,12 +41,6 @@ customElements.define('page-template', PageTemplate); #### Template Hooks A number of hook variables are defined that tell greenwood to do different things -```js -MDIMPORT; -``` - -`MDIMPORT;` Tells Greenwood to import a markdown file into this component. But we also have to define where the compiled markdown element(page) will be placed within our page-template. Hence below within our `render()` method you will see the `` element. That defines exactly where to place it. - ```js METAIMPORT; diff --git a/www/templates/home-template.js b/www/templates/home-template.js index 377afb284..8cc5fa899 100644 --- a/www/templates/home-template.js +++ b/www/templates/home-template.js @@ -8,8 +8,6 @@ import '@evergreen-wc/eve-container'; import '../styles/theme.css'; import homeCss from '../styles/home.css'; -MDIMPORT; - class HomeTemplate extends LitElement { render() { diff --git a/www/templates/page-template.js b/www/templates/page-template.js index 936cfb99c..b5d2d0fc9 100644 --- a/www/templates/page-template.js +++ b/www/templates/page-template.js @@ -5,8 +5,6 @@ import '../components/scroll/scroll'; import pageCss from '../styles/page.css'; import '../styles/theme.css'; -MDIMPORT; - class PageTemplate extends LitElement { static get properties() { From 9d55980ddcf14fd8d0decd9d7364b64175377f4d Mon Sep 17 00:00:00 2001 From: HutchGrant Date: Sat, 11 Jul 2020 21:10:54 -0400 Subject: [PATCH 3/7] docs: remove references to predefined vars MDIMPORT and MYROUTES --- www/pages/docs/layouts.md | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/www/pages/docs/layouts.md b/www/pages/docs/layouts.md index f489a572b..f114219e1 100644 --- a/www/pages/docs/layouts.md +++ b/www/pages/docs/layouts.md @@ -13,13 +13,12 @@ Greenwood has two types of templates: ### Page Template -In order to make a page template, you need to create a `LitElement` based custom element that contains a number of pre-defined variables, elements, and imports. You need to do this in a file within your _templates/_ directory named _-template.js_. +In order to make a page template, you need to create a `LitElement` based custom element that contains a predefined `` element. The `` element is where your markdown page content will be placed once compiled. You need to do this in a file within your _templates/_ directory named _-template.js_. -Here is an example `page-template.js` (the [default](https://github.com/ProjectEvergreen/greenwood/blob/master/packages/cli/templates/page-template.js) one included with Greenwood). You can just copy / paste this to start your own page template. +Here is an example `page-template.js` (the [default](https://github.com/ProjectEvergreen/greenwood/blob/master/packages/cli/templates/page-template.js) one included with Greenwood which is the default page-template.js if no other is defined). You can just copy / paste this to start your own page template. ```js import { html, LitElement } from 'lit-element'; -MDIMPORT; class PageTemplate extends LitElement { render() { @@ -38,26 +37,13 @@ customElements.define('page-template', PageTemplate); > **Note**: the filename must be in the format `