CMS for blogging and potentially more

Nick Kaufman

protector of human kind from spoilers
Lifetime Member
SoSH Member
Aug 2, 2003
13,410
A Lost Time
So I recently registered for twitter and that sparked the blogging bug I used to have many many years ago. So I am thinking of rebuilding my old blogging site, partly as an outlet to do some writing, but partly as an outlet to do web design which I actually enjoy a lot. I am also thinking that at some point in the future, I could expand it and add all sorts of bells and whistles, so this is why I would like to have it as future-proof and expandable as possible.

When I used to have a blog, I had actually bought and used a pmachine cms, which has now turned into expressionengine. To my untrained eyes, it looked like a fine platform. From my googling, I have found that wordpress, drupal and joomla are nowadays the popular and free alternatives. Drupal seems too technically advanced for me. Wordpress may actually be not so future proof and might become slow and cumbersome if you try to do more than blogging. FWIW, I don't mind shelling the $250 that the paid version of expressionengine requires, although I suspect that the free version will do fine for now.

My question is what kind of platform will better fit with my skill level. Back in the day, I had dabbled on html and css and I think I can brush off those skills today. I have no clue however about any of the advanced languages.

So, what CMS do you think I should go for?
 

SumnerH

Malt Liquor Picker
Dope
SoSH Member
Jul 18, 2005
31,885
Alexandria, VA
When I used to have a blog, I had actually bought and used a pmachine cms, which has now turned into expressionengine. To my untrained eyes, it looked like a fine platform. From my googling, I have found that wordpress, drupal and joomla are nowadays the popular and free alternatives. Drupal seems too technically advanced for me. Wordpress may actually be not so future proof and might become slow and cumbersome if you try to do more than blogging. FWIW, I don't mind shelling the $250 that the paid version of expressionengine requires, although I suspect that the free version will do fine for now.
EE completely sucks; we have basically an infinite license at work, but even though it's zero marginal cost we still prefer to use Wordpress unless the client insists otherwise. Avoid it at all costs.
 

dirtynine

Member
SoSH Member
Dec 17, 2002
8,394
Philly
Wordpress is the default choice; there's a relatively newer CMS called Craft which is definitely gaining some converts and might be a fit for a project like that.
 

mwonow

Member
SoSH Member
Sep 4, 2005
7,094
Wordpress is the right place to start, and probably the right place to end up as well. It has a huge and active developer community, so there's a constantly-expanding wealth of templates, plug-ins etc. to enhance functionality and look & feel
 

Nick Kaufman

protector of human kind from spoilers
Lifetime Member
SoSH Member
Aug 2, 2003
13,410
A Lost Time
Thanks for your answers.

I will check Craft out. I wonder why Sumner thinks ExpressionEngine sucks, I ve read good things about them. As far as wordpress is concerned, one of the things I keep seeing about (which is may be outdated I don't know) is the idea that no matter how much you play with the colors and fonts, it still ends up looking like a wordpress website because you are limited by the template you re using. And the thing is that I already have a very custom webdesign that I need to upgrade for today and I just want a backend platform/database to handle the content and all the various bells and whistles I might add.

Moreover, yesterday, I ended up looking at my old css and htm files and my biggest challenge design wise is that since I designed my blog, mobile came. So whereas I had the site's margins fixed at 760 pixels so it could fit the old tiny laptop screens, now I need to do a responsive design that will change based on the size of the screen.

Does anyone have a quick rule of thump on how to approach this problem? Moreover, one thing I don't understand is how a website gets shown in high resolution mobile screens. Like for example, it seems to me that for the time being, the biggest website size you do is around 1000 pixels wide. But then you get on an one of the new ipads with a resolution of 2048x1536. Does this mean that the site gets automatically blown up to fit the hi res screen? Wouldn't that mean that that pictures and logos appear fuzzy? How do we deal with this?

Similar question about fonts. Do you still go for a fixed pixel size or is there some new css code that makes fonts adjustable?
 

rembrat

Member
SoSH Member
May 26, 2006
36,345
Get a WP template that uses Bootstrap as it's CSS framework and you'll have a responsive layout.

Yea, higher resolution images are needed and where you can you should use svgs for vector art.
 

saintnick912

GINO!
Lifetime Member
SoSH Member
Oct 30, 2004
4,967
Somerville, MA
If you do WP, please don't host it yourself. There are constant security patches, and it's a nightmare to stay on top of it if it's not your job. Many people I know use WPEngine for that reason to host their WP sites.
 

Nick Kaufman

protector of human kind from spoilers
Lifetime Member
SoSH Member
Aug 2, 2003
13,410
A Lost Time
Does anyone know javascript? I ve copied/adapted a simple javascript from the web that allows visitors to change font size. However selected font size resets as soon as the visitor refreshes page. I am trying to incorporate a locastorage command on the script, but I can't make it work. Any suggestions?

<script type="text/javascript">
$(document).ready(function() {
$('#incfont').click(function(){
curSize= parseInt($('.posts').css('font-size')) + 1;
if(curSize<=24)
$('.posts').css('font-size', curSize);
});
$('#decfont').click(function(){
curSize= parseInt($('.posts').css('font-size')) - 1;
if(curSize>=12)
$('.posts').css('font-size', curSize);
});
});
</script>
 

Blacken

Robespierre in a Cape
SoSH Member
Jul 24, 2007
12,152
I will check Craft out. I wonder why Sumner thinks ExpressionEngine sucks, I ve read good things about them.
Because he didn't come out of a time machine from 2008 (I mean that, that's when it was sort of competitive). ExpressionEngine is the sort of garbage trotted out by people who can't code and won't learn and it shows. It actually manages to make WordPress, legendary for being a fulminating pile of insecure crap around probably the dumbest render loop ever put into a widely-used product*, seem like an attractive option.

My rule, and it has never steered me wrong: if you have zero customizations that you want to do, if you must use PHP, you use WordPress (and you hate yourself). If you have custom work and you must use PHP, you use Symfony2 (and you definitely hate yourself). If you have more than a trivial level of custom work and at least a middling amount of self respect, you use Rails or Django or put a hobo in a box scribbling HTTP responses on legal paper or something.

* - non-Microsoft division
 

rembrat

Member
SoSH Member
May 26, 2006
36,345
Does anyone know javascript? I ve copied/adapted a simple javascript from the web that allows visitors to change font size. However selected font size resets as soon as the visitor refreshes page. I am trying to incorporate a locastorage command on the script, but I can't make it work. Any suggestions?
Looking at your snippet, you would save it or "set" it to localStorage after every click event. And you would check for it's existence somewhere outside of the click events when the document first loads.

Code:
/**
      * Get whatever you have saved to localStorage
    * 'fontSize' is the key I'm using in this example.
    */
    var fontSize = localStorage.getItem('fontSize');

    /* check if it exists */
    if(fontSize) {
        /* if it exists then use it */
    } else {
          /**
           * get the value and set it to localStorage
           * ('key', 'value')
           */
        localStorage.setItem('fontSize', 24)
    }
 

Nick Kaufman

protector of human kind from spoilers
Lifetime Member
SoSH Member
Aug 2, 2003
13,410
A Lost Time
Thank you very much, but forgive me because I just don't know how to code, so I don't know how to fit what you suggested with the already existing code. -other than to brute force trial and error until I get it right.

I tried putting it separately under javascript tags and it didn't work. I also tried to combine it with the same code, but also didn't work. What am I doing wrong?
 

rembrat

Member
SoSH Member
May 26, 2006
36,345
Thank you very much, but forgive me because I just don't know how to code, so I don't know how to fit what you suggested with the already existing code. -other than to brute force trial and error until I get it right.

I tried putting it separately under javascript tags and it didn't work. I also tried to combine it with the same code, but also didn't work. What am I doing wrong?
Here ya go. I tested this and it works fine.

Code:
$(document).ready(function() {

    /* get our localStorage value */
    var fontSize = localStorage.getItem('fontSize');

    /* if there is something there, we'll use it */
    if(fontSize) {
        /* set the saved font size on the `.posts` selector */
        /* note that we saved an interger but passing that alone won't work
        /* so we append the 'px' to it and jQuery knows what to do with it */
        $('.posts').css('font-size', fontSize + 'px');
    }

    $('#incfont').on('click', function() {
        var curSize = parseInt($('.posts').css('font-size')) + 1;

        if( curSize <= 24 ) {
            $('.posts').css('font-size', curSize);
            /* save it */
            localStorage.setItem('fontSize', curSize);
        }
    });

    $('#decfont').on('click', function(){
        var curSize = parseInt($('.posts').css('font-size')) - 1;

        if( curSize >= 12 ) {
            $('.posts').css('font-size', curSize);   
            /* save it */
            localStorage.setItem('fontSize', curSize);       
        }
    });
});