mkiser / WTFJHT

Logging the daily shock and awe in national politics. Read in moderation.

Home Page:https://whatthefuckjusthappenedtoday.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wordpress headless CMS <> Jekyll

mkiser opened this issue · comments

One of the big goals for WTFJHT is to collaboration to the news in a transparent and open source way. I started that mission by using Jekyll and git/GitHub to save the project, which means anybody is free to make a pull request to create, update, destroy code && content.

The problem. Jekyll, GitHub, and markdown are all a little too high of a barrier to entry for most users in the WTFJHT community.

The goal. Use Wordpress' world class CMS, auth, and user management tools for content creation, editing, and publishing as a headless CMS with the underlying Jekyll and git framework left intact.

Two tools look particularly promising for accomplishing this:

  1. https://github.com/mAAdhaTTah/wordpress-github-sync

  2. http://v2.wp-api.org/

I'm looking for help building this service. A few high-level requirements in the meantime:

  • open source the resulting service
  • import the existing markdown posts and pages from Jekyll into Wordpress. Convert markdown to html (most likely using WP Markdown) and map all the metadata, titles, images, etc. to their WP equivalent parts.
  • be able to create new posts and pages in WP. Support for drafts and publishing needed. Convert the publish date, title, etc from WP HTML to Jekyll-friendly markdown (YAML required).
  • automatically sync changes in WP to github (the current repo is setup to rebuild and deploy with a Travis hook on commits to master - we'd need to revisit bc building on every save of a draft will be overkill; probably needs to be on publish)
  • use WP's media manager for attaching social images/cards to the markdown yaml

...and probably a bunch of things i'm not thinking about.

I haven't read into everything you posted but just wanted to say that I really like how easy it is to make small changes with a PR. Not saying you should keep it that way but just wanted to let you know I like that. What would make it easier for me to contribute small changes is to have a link to the Github edit page for that piece of content.

I agree, I like the ability for anybody to make a PR. The issue is that Github, pull requests, etc are too complex for most people. Ideally, using WP as a headless CMS would mean the "truth" is in Github, allowing for PRs to be made, rather than in the WP db.

BTW, the link to make edits is already on the post pages. Look for "Help improve this article" below the headline: https://whatthefuckjusthappenedtoday.com/2017/06/29/Day-161/

Yep. That change will be in the next push. Good call.

Nice!

Also, I just realized why I have never seen that link before, because it is only on the day page, not the front page. I usually just go to the home page and read there, I never click the headlines. I think the "Help improve this article" link on the main page may increase contributions.

I'm a minute late here, but just want to say I've taught a half dozen non-technical clients (mostly marketers and designers) how to edit HTML marketing websites (or the HTML views in a Rails app) using Github's editor and PRs. It only takes about 15 minutes to teach in a screenshare, and I'm sure that a thoughtful pre-recorded screencast/video would do the trick for users that want to learn how.

Tabling this for now. Going with Siteleaf in the interim.

@coreyward: I hear you on a thoughtful training doc/video, but disagree that users should be expected to know HTML/Markdown. In a past life I worked on the custom CMS's at Forbes, Business Insider, and SPIN, which supported hundreds – and in the case of Forbes, thousands – of writers. Every bit of friction introduced on the content creation side was exponentially compounded on the support side. 😕

Perhaps instead it would be possible to use a specialized Markdown editor like StackEdit that offers a preview of what they're typing in real time, as well as other WYSIWYG-esque tools, so even those unfamiliar to Markdown would be able to use it?

While I don't know of any shrinkwrapped solution for it, I'm pretty sure that it'd be possible to get such an editor hooked up to the Github API and to create a pull request programmatically. That way, you keep the flexibility of the current system while lowering the barrier for entry for others.

Closing due to Siteleaf being more than adequate for my purposes.