Closed Cleop closed 6 years ago
It's really easy to get set up and running!
There's a great beginner's guide that takes you through the installation and templating process, and I can already see exactly how you would build fairly complex layouts with text editing integration. :+1:
The CMS side of things is 'widget' based - signed in admins just click directly on the existing page content to make edits or add new sections (widgets). This means the page isn't limited to just a title/content like some blog sites, and the text editing is 'rich text' so there's no markdown/html on the client-side. Image selection/upload is also included out of the box.
On first impression the Apostrophe documentation seems to be thorough but not terribly well organised. There's just a giant list of alphabetised module names so unless you know exactly what you're looking for it's hard to know where to look.
It comes bundled with Less for css but it was v. easy to swap out it for tachyons (you can add <style>
and <script>
tags like any other static site).
Lodash / jQuery are included by default and there doesn't seem to be an easy way to remove them. Bundling doesn't seem to be provided so no access to brunch/webpack, and no npm/require on the front-end.
Example demo: http://demo.apostrophecms.org/ Beginner guide: http://apostrophecms.org/docs/tutorials/getting-started/index.html Docs: http://apostrophecms.org/docs/
Intro tutorial differs slightly from the current version. The configuration file
for pages is contained in /lib/modules/apostrophe-templates/index.js
rather
than /app.js
. The change is documented in comments within /app.js
but it may be a sign of annoying documentation issues in the future.
Can't use nodemon out of the box and there's no inbuilt hot reloader. I haven't Googled this and I guess it's not the end of the world, just a little annoying when working on css.
@nelsonic posted a list of questions in https://github.com/dwyl/adoro/issues/3#issuecomment-359429975 that I've tried to answer below. Some information may be missing/wrong because I haven't had much time to explore the module ecosystem:
tl;dr
The setup was time consuming and I encountered lots of hiccups along the way. I've now had to take a shortcut for a local version which may be difficult to run in production. This experience may have been totally different if I was using Ubuntu which is what Ghost is designed for.
Ie. brew install nginx
not sudo apt-get...
brew install mysql
NOT MySQL-server, doesn't exist on brew) Ensure that MySQL is installed with a password specified (as per the Ghost documentation):
Problems I encountered/ instructions I chose not to follow:
You must install ghost-cli globally, everything else I didn't install globally even when it tells you to: npm i -g ghost-cli
Do sudo mkdir -p /var/www/ghost
or sudo mkdir -p /var/www/{folder}
- must use sudo
Do cd /var/www/ghost
, then sudo ghost install
Based on the journey above, now going to pursue the local option: ghost install local
. Make sure your repo is totally empty before doing this.
This runs like the production example but skipping the following sections:
This works and I am now running their demo site. The demo site uses the theme Casper which they suggest you customise.
The site's structure doesn't seem to difficult to get a grasp of for customisation. Concerns however are:
Customisation doesn't look easy for creating fields outside of the designated blog fields ie. author, title, post. As the research I did suggested, this really is a tool focused on blogging. Haven't fully worked out how to create custom pages yet.
Writing/editing is markdown based and although they have buttons like this:
When you click on the buttons it just adds the markdown for you which may not be the easiest for some non technical users:
AMP integration ✅
Authors, Editors, Administrator permissions
Has JQuery built in ❌
Node, MySQL, Ember, Express, Handlebars
Setup guide for production site - https://docs.ghost.org/docs/install Local setup - https://docs.ghost.org/docs/install-local
We are going to proceed with Apostrophe because it is more of an all-round CMS (rather than Ghost being publishing centric), it is compliant with both Ubuntu and OS X and has good documentation and options for module expansion.
Following my research into CMS options we have narrowed down our choices to Ghost and Apostrophe. Now in order to understand which is most suitable we are going to do a short spike into each of these to learn more. I will be looking at Ghost whilst @finnhodgkin will be looking at Apostrophe. We will record our findings in here and choose a CMS by the end of the day.