Hi!

My name is Lemon.

I make websites.

A couple examples:

  • damn.dog
  • idiots.win
  • greatsex.tips
  • trumps.pw

(more on ahoylemon.xyz)

@AhoyLemon

  • Twitter
  • GitHub
  • CodePen
  • Medium
My podcast:

 

(not work safe)

That's enough self promotion

Because I want to show you some CMS.

Like, a lot of them.

I don't like

(but that's just me)

Wordpress facts

  • First released in May 2003
  • Developed by Matt Mullenweg (US) and Mike Little (UK)
  • Continuation of a blogging platform called b2/cafelog
  • Matt owns ma.tt and Automattic
  • Powers an estimated 30% of websites
  • 60% of CMS market share

Sites using Wordpress

  • Village Voice
  • CSS Tricks
  • Vogue
  • Angry Birds
  • The New Yorker
  • Tech Crunch
  • Five Thirty Eight
  • Katy Perry
  • Snoop Dogg
  • Lollapalooza

Some screenshots of Wordpress sites...

This is not a security talk.

This talk is about making a website.

So, let's make a website!

Okay, let's write some HTML



<section class="toys">

Acceptable Toys For Children

{title}
</section> <section class="news">

Acceptable News

{title}
{summary}
</section> <section class="cocktail">

Cocktail of the Month

{title}
{summary}
</section>

One way or another, we're going to need a way to put the content


or "stuff"

...into the HTML markup


or "nerd shit"

And let's try it with

Joomla! facts

  • First released in August 2005
  • Started as a fork of Mambo CMS, over a dispute of Open Source
  • "Open Source Matters"
  • 2,680 GitHub stars
  • Developed as a team
  • Consistantly #2 in market share
  • Estimated Site Count: 2M

Okay, let's get it installed!

Well, let's look at the back end...

Default Joomla installation contains 80 plugins.

The whole thing reminds me of Skyrim mods.

Okay, so maybe

Drupal facts

  • First released in May 2000
  • Originally by Dries Buytaert as a message board
  • Popularity spiked with Howard Dean
  • Developer community of 1.3 million
  • forked into many different distrobutions
  • PHP using Symfiny
  • Estimated 2.3% of all sites worldwide
  • GPL License

Sites using Drupal

  • whitehouse.gov
  • University of Minnesota
  • The Economist
  • Pfizer
  • Harvard
  • Wizards of the Coast
  • SyFy

Drupal is a very sophisticated CMS.

With over 1,000 active distributions, the landscape of Drupal is a wonderful and bewildering thing.

You deserve a better guide than me.

Maybe go to a meetup?

But, let's look at some lesser known options...

such as

Concrete 5

  • Developed by Lewis & Clark college
  • First released in 2008
  • Fastest growing CMS from 2010 - 2012
  • Released under the MIT license
  • Free, with an integrated marketplace

Sites using C5

  • Lewis & Clark College
  • Cambridge University
  • Government of Switzerland
  • Nazareth College
  • United States Fish & Wildlife

C5 Features

  • Edit page on the page (!!!)
  • Add blocks to section
  • WYSIWYG Content Editor
  • Global file manager
  • Each page gets its own version
  • Separated dashboard

My Install:

Frontend

Backend

So how about

Grav

  • Created by Andy Miller, co-founder of Joomla
  • Released 2015, immediately popular
  • 124 Contributors
  • MIT license
  • Most starred PHP CMS on GitHub
  • Twig
  • Andy Miller also involved in Rocket Theme

My Install:

Frontend

Backend

We can start making our own structures!

We'll need to edit the blueprint

grav\user\themes\{theme}\blueprints\blog.yaml

And then write the template

grav\user\themes\{theme}\blueprints\blog.html.twig

Maybe we can simplify with

Kirby

  • Developed by Bastian Allgeier
  • First released in 2012
  • Compact CMS with a designer focus
  • Popular in a particular design aesthetic of European brutalism.
  • Software asks for a license fee of €79

Used by...

  • Bolden Agency
  • Standard Issue
  • Prototypo
  • Irradié
  • Primo Espresso
  • Higher Leaf
  • And me (a lot)

I like Kirby.

So let's write some PHP!

<section class="toys">
  

Acceptable Toys For Children

{title}
</section>
<section class="toys">
  

<?= $page->title(); ?>

<?php foreach ($page->find('toys')->children()->visible() as $toy) { ?>
<?= $toy->title(); ?>
<?php } ?> </section>

My Install:

Frontend

Backend

This might be easier with Craft

Craft

  • Developed by Pixel & Tonic in Bend, OR
  • Section builder in the admin screen (avoids yaml)
  • Free for solo websites
  • $300 for pro work (allows user accounts, allows whitelabeling)

My Installs

Frontend

Backend

So first you need fields

Settings -> Fields -> New Field

Then stick it in a section

Settings -> Sections -> Edit Entry Types

This might be more elegant with

ProcessWire

  • First released in 2003
  • under the unfortunate name of "Dictator CMS", changed to ProcessWire in 2007
  • Mozilla Public License

My Install

Frontend

Backend

A Much Better Demo

Frontend

Backend

One last mention

Pagekit

  • Developed by YOOTheme
  • First release in 2014
  • Very modern (Vue, Symfony, Gulp, Webpack)

My Installs

Frontend

Backend

Hey! Real quick?

Just a couple more.

How's your brain feel?

I know this was a lot take in.

It was a lot for me to research.

But the point is that you've got choices.

And choices are great!

@AhoyLemon

I'm at NDC next month (May 7-10)

And you can always buy me a beer.

Thank you.