I loooove Kirby: https://getkirby.com
Yellow is similar: https://datenstrom.se/yellow/ but free
Grav is very much like WordPress: https://getgrav.org
These are all flat file CMSs with no database needed. They all use Markdown as well.
Modern flat-file CMSes are becoming more popular for smaller mostly-static sites (eg. local businesses) due to their simplicty of implemetation, programmer friendliness, and adoption of useful technologies like Twig, Markdown, YAML etc. Kirby and Grav are worth checking out. That said, many clients will prefer the WordPress backend because they know it and it's quite a good WYSIWYG editor.
Wow WordPress security ignorance justifies building an entire CMS from scratch? Ok... or just harden your WordPress server and platform. Huge enterprise-class sites are powered by WordPress and are secured pretty easily these days.
Or use one of the other mature CMS platforms out there. I like Grav: https://getgrav.org/
I always found the best way to figure out a stack is to set up my local dev environment to mimic it. It helps with learning how to configure everything with the added bonus of it working exactly how it would in production.
Right now I use OSX with apache and php the steps are almost identical to setting up a LAMP stack on a linux distro.
Here is a good tutorial to follow in regards to setting up a LAMP on osx although this tutorial talks about different php versions.
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
I took pride in doing mine from scratch, just because I like being in control of what I build and I enjoy making websites, free from the constraints of project managers, stakeholders, etc., etc.
That being said, I just DO NOT have the time anymore! The latest incarnation of my site uses a template built on Grav (which I can highly recommend - Wordpress without the database: getgrav.org).
In two (admittedly long) nights I had re-purposed a template to fit my needs and published it. Can't argue with speed like that. As long as the quality is there. Which it is.
This allowed me to focus on the content rather than the presentation, which hopefully has resulted in a better portfolio site :)
Maybe check out Grav, a flat-file CMS that is open-source. Even if you don't use it, it has a large selection of plugins listed on the site that you could pull ideas from.
Personally love the simplicity of a flat-file CMS, No Databases just instant pages made with markdown directly from terminal/CLI saved in your web folder, or if you want QoL features, install the web admin pannel and get Wordpress levels of features with none of the bloat and loss of performance.
Have you looked at Grav? Flat-file CMS that I've played around with but not used in anger.... yet.
Mind you, it uses Composer, YAML and Twig, so if you don't like Drupal 8...
If you're a large company and will be dealing with heavy traffic, then it would be best to build someone standalone.
Don't rely on prepackaged tools like WooCommerce which don't really scale that well.
Hire developers, or use the ones you have and build something custom, lightweight, scalable, and modular. Upfront costs will be higher as well as ongoing costs such as refactoring, etc. However, in the long run it will suit your company the best.
One of the coolest scalable shop solutions I've seen was using Grav. The entire site was committed to memory so it loaded crazy fast. It has a package manager, so downloading and installing features was done by a simple command--then you just started hacking away.
Under stress tests it was able to handle several hundred thousand concurrent connections before there were issues, and that was because the server memory was reaching its limit. Was a pleasure to work with.
Yeah the main reasons I thought it'd be best to ask for advice rather than just try random stuff were security concerns, along with ideally wanting something that had decent documentation and community support.
On the subject of flat file systems, Grav caught my attention when I was searching. It looks very interesting and well-documented but I wasn't convinced it'd be simple enough to be used by the fairly non-tech-literate people I'd be designing/hosting for.
In some cases I imagine WordPress and a starter theme like Understrap might be the way to go but I thought it'd be fun to learn a CMS theme engine from the ground up, especially if I ever fancied delving into making something a bit more tailored.
I'll add Get Simple to my list of things to explore though, thanks.
Second that. If the site is small (< 100 pages) Grav is my go to. Haven't tried it at larger scale but it can go as big as you want. It's flat file--the files are your database--NoSQL and FAST. For me there's a tipping point that a database driven CMS makes more sense. So if the project is large, and since your coming from drupal I'm going to assume it is, I recommend concrete5. Well established and also refreshing. You won't be disappointed with either of those options. * grav CMS * concrete5 CMS
Try Kirby or Grav. They're both flat-file with an admin frontend.
Kirby requires a paid license to use in production though you can develop with it for free. I personally think that the Kirby admin area is nicer to use, but Grav is easier to create themes for since it uses Twig and it also has a lot more options.
They're both easy to convert a static site to though.
Here's a very interesting article that shows how to install and switch between different versions of PHP. It is very easy to do this using Homebrew. Hope it helps!
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
Very small suggestion. When the user is scrolling down, it would be cool to have the menu reflect what you're looking at. So when you get to the Portfolio section, the menu would have "Portfolio" underlined or highlighted or something. Then it updates as you scroll down. Something like this (just keep scrolling down, the effect doesn't start right away).
Just thought I'd mention Grav: https://getgrav.org/. I looked for a git based markdown wiki for a long time, and ultimately settled on Grav. It's more of a CMS than a wiki, but it seems to have done the trick anyway.
For GRAV, visit getgrav.org and then select a skeleton (https://getgrav.org/downloads/skeletons) to get started quickly. I use the "Open Publishing Space" template by Hibbitts Design, but have also used the "Learn2 with Git Sync" and "Knowledge Base" skeletons.
There is no way to sync a DB. It's going to fall out of sync whether you like it or not. DeliciousBrains attempted to build something that solved the issue, but had to kill it as it wasn't feasible.
There's two ways to solve it:
The third option is do what we did. Move away from WordPress, and start using a flatfile CMS like Statamic or Grav. Personally, we use Statamic and wouldn't dream of going back to WordPress for love, nor money.
It makes working with multiple devs a breeze, they can work with the latest copy changes and config, and deployments between different environments become a breeze.
> WordPress in my opinion is solid as hell for what it does
80% of the usage these days is trying to use WordPress as a silver bullet -- not for what it was intended.
Time for an upgrade, man. https://getgrav.org/
are you on mac or windows?
i would forget the 'bundles' and set up your own stack. they're only there to make life easier, clearly they are failing in this in your case, for whatever reason, so you might as well crack on DIY.
if you're on mac this is a pretty good guide for getting apache(etc) set up with homebrew. alternatively grab a VM like virtualbox for the L of your Lamp and follow standard linux docs. If you're on windows i would be less inclined to try installing the stack directly since you get more arseache with the underlying OS not being unixy (although WSL maybe works well now, I'm out of touch) so I'd recommend using a VM.
I personally hate wordpress, I tried some free CMS in the past few weeks including concrete5, grav, ModX, Typesetter and Typo3. I like Typo3 but Theming is hell and I stayed with grav now. It's really amazing, templating, theming, plugin-writing is amazing. It's flat-file based and still really fast. Check it out
For smaller brands Frontify's worked well for me -- but I'm wondering why brand standards would be greater than 250mb? It's not talking bandwidth but storage space, and since they're providing a lot of little plugins for things like colours and CSS styling it might not be so bad?
You may want to look into Grav: https://getgrav.org/#features
The really great FLOR rebranding used it.
In that case I would suggest you first start with more basic stuff. Learn some PHP (drupal is written in php) and look at some easier, smaller frameworks like https://getkirby.com/ or https://getgrav.org/
You might also benefit from building your own mini lightweight framework to learn how these things actually work before you use a complex, finished product like drupal. Check this out: https://css-tricks.com/php-for-beginners-building-your-first-simple-cms/
I'm confused, are you running your current website on the same OS X Server? You should test everything locally first (local IP), and then move it to a production environment with a public IP. Here is a great article on setting up SSL with 10.11. Good Luck.
Um why? Grav, Bolt and Pico are some good open source flat-file CMS options.
I thought the idea of a flat-file CMS is that the backend does hardly anything, so it's fast and light and super-simple to template/theme. Goes without saying flat-CMS will usually have poor to no user/password/account management etc - hardly the starting point for a highly dynamic site like OP described...
Can vouch for Bradley. He did a great job with our site (founder of nxtid here).
Question for you,
I have a client now who wants the design I'm doing to be put into a CMS so he can edit or create new pages. What would you suggest or would you be able to take our design and put it into something like Grav? https://getgrav.org/
I've found that the best setup for me is to just install Apache, PHP, MySQL etc. directly on my Mac. I then have a v-host in Apache that matches anything on *.localhost with my ~/Sites directory where I keep all of my sites. All sites have to follow the same directory structure for this to work so all of my Drupal sites have a public folder that Apache will route everything to.
I then have PHP switcher that easily lets me switch the PHP version between projects when needed.
For Drush I use the Drush Launcher what automatically picks up the local drush version installed with composer for the specific site.
I usually follow this guide when setting up the environment. It takes a while to go through all the steps but the speed of the environment is so much nicer compared to using Docker on a Mac.
https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions
I followed this to install multiple PHP versions https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions
IMO, a diagnosis of "version mismatch" usually indicates a misunderstanding of how software versions and platform requirements interact.
If you install the minimum versions of PHP 7/8 supported by Drupal 7/9, then "mismatches" are either relying on unsupported versions of PHP or on language features not supported by Drupal core, by definition. Therefore, the way to handle them is to fix the code, not change the environment.
Obviously there are edge cases where that's infeasible, like on an inherited Drupal 6 site or something. Then be pragmatic and reach for Docker.
I followed this guide for years and was very happy with it while on Mac (switched to Linux earlier this year).
https://getgrav.org/blog/macos-monterey-apache-mysql-vhost-apc
The Docker based Drupal envs are all awfully inefficient because Docker on Mac requires a VM (not their fault). Moreover, they all introduce additional layers of complexity like file shares/volumes along with layers of indirection when running Drush commands (again, not their fault, there's no way around it).
Docker has a place, like when you need a SOLR instance for testing something, but you can run that in Docker and everything else directly on your machine. /
Development suites based on Docker like Lando, Docksal, DDEV, are fundamentally trading one kind of complexity for another and more esoteric kind of complexity which increases your mental overhead when diagnosing problems.
If you familiarize yourself with Drupal's minimum PHP and MySQL versions and install those locally, you will practically never run into problems with your local (except when a major Mac OS update nukes some config, but you just follow the guide I linked to again). If you do, it will necessarily be because PHP or MySQL made a breaking change in a minor version (this doesn't happen often or on purpose) or because your Drupal version is horribly out of date (but that's a different problem that you shouldn't solve by running outdated PHP versions).
Try to follow all steps from https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions
If you did and still you can't make it work then I can't help you unfortunately, but there is also Docker, I personally use PHP that way for my work and the OS version only for some automations/scripting.
>No database, simple management, light weight
You're looking for static site generators then (Hugo, Jekyll, etc). Which generate your html files, which you then host with a LAMP or HTTP docker container.
Other than that: https://getgrav.org/ or https://hub.docker.com/_/ghost comes to mind.
Honestly I would not use wordpress for anything. It's hugely bloated and has had a ton of security issues in the past. If you want something super simple and quick you can use grav CMS. Your write markdown files and it converts them into webpages. It's also super fast.
For reference, here is the Homebrew based LAMP stack I mentioned...
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
There are also posts for prior versions of MacOS.
If it's just a few pages, why don' you use something like Grav CMS - https://getgrav.org and figure out what style you want (you can download the core plus templates or whatever) and put your pages down, and then check on it every now and then. It's lightweight/fast, and can be backed up easily.
Setting up a WordPress site for a few pages and then turning the site into a static site seems like a lot of effort, for only a few pages.
While I haven't used it myself, Grav looks really promising for cases like this.
It's not a user-friendly experience for a non-technical editor, but I've always wanted to try having the right client edit markdown files on Github to generate updates with an SSG or build script. NetlifyCMS also becomes an option if you want to go that route.
Grav CMS is open source, has many plugins (all free) and fairly helpful discord support.
​
Edit: just noticed the WYSIWYG/ drag & drop requirement, Grav has a decent (and easily extendable) admin panel but it not really drag and drop and may be too basic for your needs.
You have created a fanastic resource. I also use Notion for my work-related stuff, and I am more than happy to help and contribute.
I am sure you are planning to get some kind of Wordpress install going for the main site. Instead , I strongly recommend Grav (https://getgrav.org/) which is a flat-file based site generator and allows easy migration, mirroring etc. since it is not based on a database.
It is also important that you create a Discord server type real-time communication system to facilitate communication between those who want to help. I have gone ahead and taken the liberty to create one, and called in UrbanNazi. Link in your DM.
Please join and I will transfer the administration rights.
If everybody would go through the web frontend there would be no use of the files..
I'd sync the folder with the files using Dropbox or similar, or mount it using SSHFS, not up- and download files.
Grav CMS kind of has it with their Git-Sync Plugin. It even uses Git so one gets version control for free. And the content can be edited in their web interface as well. Genius!
call me ignorant, how is this easier than using a flat-file based cms like grav? I mean you can use markdown and create pages/blog entries directly from the CLI or via an admin GUI. https://getgrav.org/
Drupal can be overkill, especially for a relatively static brochure site. For things like that, Grav gets good marks.
If you're familiar with Laravel, you should be able to get the working with Drupal development pretty quickly, as d8 is also object-oriented.
A nice thing about using Drupal is the admin interface/menus are pretty standard from one site to the next, so there is less of a learning curve for Editors. A completely ad hoc interface would take a bit of work to make it as intuitive as an established CMS (imho).
Take a look at Grav! This might be a good choice for you.. it is written in php (if I’m not wrong), it‘s very fast, has a simple way of building custom themes and the most common content editing / publishing features!
Personally, If I can get away with it I prefer using GRAV as most sites created with Wordpress just don't require all the bloat that comes with it. GRAV with its Admin plugin GUI makes it super easy, its also a flat-file format (so you don't need to setup a database). You can use the web editor or create pages directly in the CLI. Not to mention an impressive number of plugins.
At the simplest, go get a very simple PHP cms framework, like https://getgrav.org/ or something similar. You don't even need a database for this.
I'm assuming you know HTML and CSS? Which leads me to? do you know TWIG?
What I'm about to say works for both something like Grav CMS and just writing static HTML.
​
You're gonna want to start writing static HTML.
Write a static HTML file for each "TYPE" of page on your site.
Lets say you have a HOMEPAGE, a LIST PAGE and a Content Page.
Thats three HTML files you'll have.
Then you'll have a CSS file.
Then you'll have some images? maybe?
Thats it, now you have 3 static HTML pages.
​
If you have multiple "content pages" you just save-as the first you did, name it what ever you want, and alter the content as you need to.
Then I guess on your list page, you'll have one of your list items point to the two (or three? or four? how many do you want?) content pages?
If you want to take it to the next level. you'll make a twig template for each of those three files, and then you'll go and use something like GravCMS to power it as a CMS.
Grav doesn't need a database, but then every piece of content is stored in YML files, and it assembles your site for you off of the twig templates you've made.
If you want to add any javascript on top of that, have fun!
Thanks for the kind words! :)
I guess you are referring to the header? I created it myself, but it was inspired by how https://getgrav.org/ did it. You can find the animation in my repository at stars.js. The "bubbles" / stars are basically four different elements. One for each layer of stars size and color. Each element is basically just a round div
, but has tons of box-shadow
s automatically generated. This basically duplicates the div
shape just by using CSS. This makes the whole animation smoother and less CPU consuming :)
>Hi, about the docs: I have found them, but they are not "obviously" linked or promoted within the normal description text. I would place a more prominent link within the normal text.
True, fixed it!
>About the CMS: I think in order to convince/motivate someone to use your CMS, it would be nice if you do some "Use Cases" ... maybe in comparison to other CMS
Yeah, I figured out already that the benefits aren't that obvious right away. I might need to make a website that highlights the benefits and some use cases.
>For example: I once got sick of almost all CMS needing a DB installed. So at this time, those flat file CMS got popular (like https://getgrav.org) and I almost immediately started to adopt those for smaller webpages
I never jumped on the Flat CMS hype. In some use cases it might be better suited, but in my case, I need a DB for 90% of my projects, so I rather use the same CMS for every project.
You can use a flatline cms that doenst need a database. Instead of html you write via markdown that will be converted into html automatically. https://getgrav.org/
​
Check the designer/developers other work. Do the sites all look very similar or work in the same way (for example mobile navigation)? This is a big sign that they're re-using a base theme for multiple clients. This is particularly common with Wordpress sites since it's so insecure out of the box developers often use a custom theme that fixes a lot of problems and just tweak it for each client.
You should hire someone that will focus on designing content and layout around who you're selling to. Please, don't let someone just sell you a generic website you can edit the content of. That is not web design.
A design should start with the client's needs and their target adience and work up from there. Content, site structure and planning all come first before I ever even think about how the final site will look. A design is built around content – never add your content into an existing design, it's the wrong way round.
As others have pointed out, in the WP world there are many people that 'do' Wordpress but that's the extent of their knowledge. They can throw you together a fancy looking site with all the distracting bells and whistles, but if the content is lacking and people can't find the information they need to make an informed decision about a purchase, then it's a waste of money. They're selling you a mirage, something that looks right bt doesn't actually do what it should. Make sure you find a proper designer that will actually design you a site.
Finally, just to add to the WP debate, I stopped using Wordpress a long time ago, mainly because I can't trust that clients will keep it updated and secure. Now I'll use something less bloated like Perch to just add manage the content I need to edit, or for smaller sites that need little updating, a flat-file CMS like Grav (which I'm using on my own site at the moment).
If you’re on OS X and interested in running your env directly from the OS this guide is the best resource I’ve found. After getting things set up it’s now my preferred way to develop locally. Ymmv, of course.
I find docker performance acceptable for local Apache PHP MySQL development containers. Not on my Mac right now but could share a config later if you're interested. Don't think I do anything special though to be honest.
However, I massively prefer to have native local services for local development because it is faster and less hassle. Grav do an amazing series of blog posts for setting up dev environments on macos including multiple PHP versions. It's not for beginners but if you're capable then it's a great resource: https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions
I played around with Grav for some time, and I like it enough to recommend it. It's flat file, so no need to concern yourself with databases, posts are created with Markdown as you wanted, and themes are made with Twig, which makes them super clean and very easy to edit.
I hear you.
Checkout Grav https://getgrav.org I have been trying to get a few files up with this but never put the time needed in yet. I suck at markdown which makes this cms allot easier. It is all flat files and so it flies. This would be what I move to if WP and CP falter.
You could also check out PicoCMS http://picocms.org. I looked around with this awhile back. Since it is db free it is fast and easy to secure. I was scared off by the db free but it has a strong g community (from what I could tell) which has some nice work arounds.
Lastly checkout concrete5. I have not used them but I have family members that run a design firm and they launch massive sites with it. I heard they suffered early on from version switching issues like Drupal did but that seems to be in the past now.
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
In this series of article, you will learn how to set up multiple php versions, apache, vhosts, dnsmasq and other stuff.
Not sure if you wanted a PHP-oriented article, but this is the guide I'm following when I set up a new macOS machine for development.
Else, try and watch how to set up this using docker as this will be some mandatory skill for technical profile in the near future (as important as git nowadays).
Take a look at GRAV for building more of a static site with a flat file database. I run about 20 WP sites and most people don't need all the features and would do better with a site built with GRAV. You can still have some pages that handle comments and such if you want to. The admin area also looks similar to WP which is a plus. https://getgrav.org
Ah, I just saw that you didn't like php. But I'll leave this reply anyway.
Its flat-file (no databases) and with the admin panel its as simple as drag and drop into a web root, go to <server/homeIP>/admin
Either method of use is super simple, via CLI or via the web admin panel, creating pages is super simple. It has 100's of addons all available with single click installs including Gantry 5 and Gantry 5 themes or Bootstrap enabled themes for your preferred use. LDPA and OAuth options and more.
GRAV is super fast, super light, is markdown friendly so I can simply add a page to the directory and write my content on the fly in markdown in a matter on seconds, well worth checking out.
I'm inclined to agree that Wordpress isn't what you want. It may be popular, but it's also shit, and a database driven site isn't necessarily what you want.
I've recently been impressed by Grav, and that may be worth a try. It's a flat file CMS, but it has an admin panel plugin as well, so you can write pages as Markdown or using the admin.
If you're really wanting to go for simple then have a look at Grav (https://getgrav.org/). It's a flat file CMS built on php, yaml and twig (godsend!). Has caching, templating, image processing, CLI, all the modern conveniences. Super easy to make custom admins etc. Extremely fast due to flat file structure (unless you're doing HUGE sites; but even then there are approaches).
Only (admittedly massive) limitation is it's largely limited to a page-based workflow. As in it's hard to make any piece of content thats not a page. If you want something similar (but also somewhat the total opposite) then have a look at Bolt.cms (https://bolt.cm/) - my main gripe with this was the lack of page management.
I've been absolutely loving Grav - keeps things super simple, easy to learn, very well documented, very good slack community and responsive developers.
I think based on the constraints you put above you'd love it - have a flip through the Docs is probably a good place to start? Feel free to fire back any questions and I'll pretend I know how to answer?
good 3 part guide on setting up local dev env on osx:
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
that said, after working happily in this way for about a year, it all fell apart as soon as I had to work on two concurrent projects requiring different versions of stuff. so these days i use vagrant boxes. for example homestead or drupalvm, created for laravel or drupal respectively but no reason you can't just comment out or ignore the laravel/drupal stuff you don't need, and use them as a generic php web dev virtual env.
Hmm.. the code of the effect is inspired from https://getgrav.org/
What they/I actually did, is a box-shadow repeating a lot of times: https://github.com/BrunnerLivio/Portfolio/blob/master/src/styles/components/bubbles-shadow.scss
I think canvas would have been a better option performance wise. But I think I'll leave it as it is, because supporting such a new browser is too much work for the benefit I suppose.
Thanks for the feedback. I was inspired by keypuller.com as well! I believe it was Matt3o or made the WhiteFox that had made that site, last I heard he was going to re-vamp it to make it easier for others to add sets but it has been months now.
I definitely plan on adding filters/search function for all the categories I have created.
I am building this site on a flat file CMS system called Grav. My idea behind it is possible hosting the site on Github and allowing people to submit changes / add keyboards via .md files. Currently going through a learning curve in getting the filtering/searching functions working.
I also agree on hosting all the information as well, also why I want to do a github scenario where others can make backups of the data as well. I was inspired by Robotmaxtrons Ergodox.io. All the old Ergodox sites/info places went down and so he re-compiled everything in one place. That is what I want to see happen with this catalog. Nothing worse than not being able to find resources for your $250 keyboard 5 years later b/c someone deleted a Reddit account/post.
I spent a long time looking at smaller CMS's to use instead of Drupal 8.
I ended up choosing Grav https://getgrav.org/ and it's brilliant.
It's designed in a very elegant way and runs extremely fast.
No database, but not a static site generator.
You basically have a twig template for layout and a markdown file for content that also has yaml 'front matter' like Jekyll.
I highly recommend it.
DrupalVM whizz Jeff Geerling's today blogged about it now working with docker:
https://www.jeffgeerling.com/blog/2017/drupal-vm-does-docker
On my mac I used this pretty sweet setup:
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
I've been having a pretty nice time with grav, but it's newer and obviously doesn't have nearly the same ecosystem you'd get on something like WP. I think that ends up currently limiting its use-cases, as others have noted, while we have this desire to make everything 100% efficient, it doesn't make sense to reinvent the wheel every time.
I will try this link out. I just installed grav onto my webroot folder. I am following the directions and the last step is to point your browser to the local host. https://getgrav.org/downloads
This is what is holding me from finishing. I really appreciate your help.
Hi, I am trying to install grav on my domain. I am just following the instructions that grav has posted on their site. The last step after extracting files on to your webroot is to point your browser to your local host. This is the step that is troubling me. Here is the link to the directions on Grav's site. https://getgrav.org/downloads
I really do apologize for my uncertainty on this topic I really appreciate the community's help.