From 1c753d4ee9efcd6a7bee538dd8a0b8c9aea83066 Mon Sep 17 00:00:00 2001 From: Felix Rieseberg Date: Tue, 19 Aug 2014 10:06:35 -0700 Subject: [PATCH] {{gh-path}} Handlebars helper, returning paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Uses utils/ghost-paths to resolve paths - {{gh-path}} or {{gh-path ‘blog’}} for Ghost’s root (mysubdir/) - {{gh-path ‘admin’}} for Ghost’s admin root (/mysubdir/ghost) - {{gh-path ‘api’}} for Ghost’s admin root (/mysubdir/ghost/api/v0.1) --- ghost/admin/app.js | 3 +++ ghost/admin/helpers/ghostPaths.js | 34 +++++++++++++++++++++++++++++++ ghost/admin/templates/-navbar.hbs | 2 +- ghost/admin/templates/error.hbs | 2 +- 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 ghost/admin/helpers/ghostPaths.js diff --git a/ghost/admin/app.js b/ghost/admin/app.js index bd8a3e397e..b8d8ceb503 100755 --- a/ghost/admin/app.js +++ b/ghost/admin/app.js @@ -3,6 +3,7 @@ import loadInitializers from 'ember/load-initializers'; import 'ghost/utils/link-view'; import 'ghost/utils/text-field'; import configureApp from 'ghost/config'; +import ghostPathsHelper from 'ghost/helpers/ghostPaths'; Ember.MODEL_FACTORY_INJECTIONS = true; @@ -16,4 +17,6 @@ configureApp(App); loadInitializers(App, 'ghost'); +Ember.Handlebars.registerHelper('gh-path', ghostPathsHelper); + export default App; diff --git a/ghost/admin/helpers/ghostPaths.js b/ghost/admin/helpers/ghostPaths.js new file mode 100644 index 0000000000..311d7a6a9c --- /dev/null +++ b/ghost/admin/helpers/ghostPaths.js @@ -0,0 +1,34 @@ +// Handlebars Helper {{gh-path}} +// Usage: Assume 'http://www.myghostblog.org/myblog/' +// {{gh-path}} or {{gh-path ‘blog’}} for Ghost’s root (/myblog/) +// {{gh-path ‘admin’}} for Ghost’s admin root (/myblog/ghost/) +// {{gh-path ‘api’}} for Ghost’s api root (/myblog/ghost/api/v0.1/) +// {{gh-path 'admin' '/assets/hi.png'}} for resolved url (/myblog/ghost/assets/hi.png) +import ghostPaths from 'ghost/utils/ghost-paths'; + +export default function (path, url) { + + var base; + + switch (path.toString()) { + case 'blog': + base = ghostPaths().blogRoot; + break; + case 'admin': + base = ghostPaths().adminRoot; + break; + case 'api': + base = ghostPaths().apiRoot; + break; + default: + base = ghostPaths().blogRoot; + break; + } + + if (url && url.length > 0) { + base = base + url; + } + + return new Ember.Handlebars.SafeString(base); + +} \ No newline at end of file diff --git a/ghost/admin/templates/-navbar.hbs b/ghost/admin/templates/-navbar.hbs index 852cb80fb1..403ac64f93 100644 --- a/ghost/admin/templates/-navbar.hbs +++ b/ghost/admin/templates/-navbar.hbs @@ -1,6 +1,6 @@