Skip to content

Migration Checklist 4.x to 5.x

Jan Rembold edited this page Nov 29, 2017 · 44 revisions

System

Configuration

Folders

  • /app nach /src umbenennen
  • /layout in /layouts umbenennen, /includes nach /layouts kopieren
  • create /src/pages and move all pages (except index.html) there
  • move /components, /layouts, /scaffolding to /src
  • move /src/

Files

  • change all *.html extensions to *.hbs in /src, /pages, /components, /layouts, /layouts/includes, /pages (Mac Renamer: https://mrrsoftware.com/namechanger/) (Windows Renamer: ???)

Template Engine

Search & Replace

Order of execution is critical!!!!!

  1. Search & Replace Zetzer includes to HBS partials (WITH variables)
REPLACE: \{\{= *ftf\.include\( *"(\.\/)?(.*)\.html"([ ,]*(\{.*\}))? *\) *\}\}
INTO: {{include '$2' frontendFrameworkMigration='$4'}}
  1. Remove include helpers with empty variables
REPLACE: \{\{(.*)frontendFrameworkMigration=\'\'\}\}
INTO: {{$1}}

Combined alternative for 1. and 2. for frameworks with includes without variables

  • Search & Replace Zetzer includes to HBS partials (WITHOUT variables ONLY!!!)
REPLACE: \{\{= *ftf\.include\( *"(\.\/)?(.*)\.html" *\) *\}\}
INTO: {{include '$2'}}

  1. Search & Replace changed paths from {{include '...
  • "frameworks/" -> "components/framework/"
  • "includes/" -> "layouts/includes/"
  • "../_mock/" -> "_mock/"

This can be done with plain Search&Replace function, no RegEx needed.



!!!! WATCH OUT FROM HERE !!!! There might be lots of special elements. You can't blindly replace everything from now on...


  1. Search & Replace Zetzer to HBS expressions with default values
REPLACE: \{\{= *ftf\. *(.*?) *\|\| *[\'\"](.*)[\'\"] *\}\}
INTO: {{def $1 '$2'}}

  1. Search & Replace Zetzer to HBS expressions without default values
REPLACE: \{\{ *\= *ftf\.(.*\S) *\}\}
INTO: {{ $1 }}

Handcraft

  • /pages/*.hbs rewrite from Zetzer/JSON to Handlebars/FrontMatter(YAML). See example: https://github.com/frontend-framework/frontend-framework/blob/demo-5.x/src/pages/01layout.01default.hbs
  • Rewrite partial context expressions like {{# partial.conditionalResources || ''}} to {{conditionalResources}} (empty default || '' not necessary anymore)
  • Rewrite dynamic includes like {{= ftf.include(partial.contentMain) }} to lookup partial {{> (lookup . 'contentMain') }}
  • search for "{{?" and rewite to handleabrs {{#if ...}} {{else}} {{/if}}

Scripts

SASS

Clone this wiki locally