Anyone using Ghost ?

Customisation
  • Thought I’d open this up for discussion. I’ve setup ghost in blog.sudonix.com mostly at this stage to play with the features. Whilst it’s lightning fast being based on node, it seems to lack (to me at least) some of even the most basic features that you’d typically find in WordPress just aren’t there in ghost.

    One of the most (glaringly) obvious omissions is the ability to modify CSS directly. It can be done, but requires the usage of code injectors directly in the headers which isn’t clever. Furthermore, theme development is clunky in the sense that changes need to be recompiled using grunt.

    Interested in other experiences.

  • phenomlabundefined phenomlab marked this topic as a regular topic on
  • @phenomlab I had about four acquaintances request it over a span of time. Early ghost was too Ubuntu specific and install refused to progress on non 'buntu platforms. Years later I had some spare time one day so figured I’d accommodate. Learned they’d improved their install script to not be so choosy. Anywho, four people, four domains, four ghost instances. Not a single one had actually done anything with it so after about four months or so I pulled the plug on those vm’s.

    I never delved beyond a cursory look myself. Seemed like it could be cool but you’d need to roll up your sleeves. Maybe quite a high bar for those accustomed to doing all via clickery?

    My approach to bee loggin’ is “Content is King”. And I don’t blog about stuff others have already beat to death. I blog very rarely, and then only to scratch a specific itch. I have no interest in monetizing my goodwill so have no concerns over SEO, ads, etc. Hence, my use case is well served by static site generators. I favor Cryogen Web, for no particular reason, but there are many, many to choose from but Hugo, a.k.a. Go Hugo is probably the most popular at this time. Hugo is, you guessed it, based on Go. Lots of traction and lots of themes, etc. Maybe consider a SSG backed by NodeBB for commentary? Save yourself more than a few security headaches while you’re at it…

    Have fun! 🐕

    Edit: Oh yeah, SSG’s are FAST!

    Here is one example of cryogen and some articles tagged zfsonlinux, which got tons of hits early zfs on linux days, as most linuxers were still stuck in NIH myopia chasing the promise of btrfs (and we see how that panned out). Then even more, maybe tens of thousands per day, early Ubuntu bundling zfs before their wiki stuff caught up with the interest. vm was barely flexing its pinky to keep up.

  • @gotwf great points, thanks. I agree about having to roll your sleeves up for those not fully conversant with a newer type of interface rather than WordPress - although in my view, Grav is more complex than ghost - and I really liked Grav but didn’t like the concept of templates and twig. Having played around with NodeBB and it’s templating system, it’s much easier than I ever envisaged.

    One thing that sets Grav and ghost aside is that the former is based on flat files and does not require a database. As you mentioned in your post, SSG based platforms are always going to be faster. In my testing though, ghost is fast. My belief here is that the absence of PHP and a node based backend is key.

  • @phenomlab PHP sucks. And this from someone who was first exposed late 2.x and used to code 3.0. Many, many security issues. Then there are the SQL injection issues common to any rdbms glue. Hence the rise of the static site generator. Do you want to spend all your time monitoring snort logs? Or actually writing? I encourage you to take a look at GoHugo. It was not yet invented when I started out with Cryogen Web. Nor was Go, for that matter? Maybe just starting to gain traction. Prior to that Clojure was the big new dealio but that was short lived once the Goog got serious about Go.

    I am not a fan of Markdown. Which was also not invented yet when I surveyed the landscape and settled on AsciiDoc. Cryogen Web supports both Markdown and AsciiDoc so that made it a no brainer for me (so I guess that was a BIG particular reason I omitted above). AsciiDoc is superior html markup substitute but hey, NIH and group think from the Ruby and GitHub crowds prove yet once again lemmings following big corp group think will beat out technical excellence. Sure are living in interesting times, eh?

    P.S.; AsciiDoc is also a standard. So no worries about various Markdown flavor compatibility issues and having to accommodate a bazillion different flavors of the month. 👍

    P.P.S.; But I digress… This post was supposed to be about Ghost pain points… 😜

  • @gotwf Thanks. As a PHP developer myself, I’m having trouble disagreeing with the points you’ve raised. SQL injections are sadly still commonplace in today’s threat landscape.

    I’ve been spending more time with Ghost over the weekend, and as I get more acquainted with the inner workings, the more I like it.

  • And so, I thought it was high time some screenshots were provided (eye candy) for the blog I’m working on. It’s currently set to private, so not accessible, but here you go…

    Dark Mode

    62844c4b-0393-4eda-ba5e-4075e5734314-image.png

    Light Mode

    ff1c3a78-b06f-4c2b-beb5-926033ea9d25-image.png

    There’s still a lot of work to do here, but it’s coming along ! 🙂

  • @phenomlab said in Anyone using Ghost ?:

    And so, I thought it was high time some screenshots were provided (eye candy) for the blog I’m working on. It’s currently set to private, so not accessible, but here you go…

    Dark Mode

    62844c4b-0393-4eda-ba5e-4075e5734314-image.png

    Light Mode

    ff1c3a78-b06f-4c2b-beb5-926033ea9d25-image.png

    There’s still a lot of work to do here, but it’s coming along ! 🙂

    Looking good that Mark! 😁

  • @phenomlab as u know, i’m playing with ghost, is really fast but there’s a lot of features missed. but also highly customizable if you know javascript, i think that in the end of this year i will release a full theme for ghost, now i definitely 0 time due to work.

    but i will follow you on this, really interested

  • @justoverclock Thanks. I’m seeing a similar situation in terms of missed features, but as you rightly say, there is the opportunity to extend if you are familiar with JS - which I am. I’m working on the testimonials section and have written a pure CSS slider to handle this. It’s a work in progress currently, so nothing to see as such.

    And like you, I am currently deluged with work commitments, but hoping to get back to this as time permits.

  • can we use ghost in shared hosting?
    does it allow users to start a new page?

  • @hari provided nodeJS is installed and you have SSH Access to the shared hosting, then yes, this should be possible. There’s actually an article available that provides a YouTube video of how to install via cPanel here

    Not sure what you mean concerning starting a new page ?

  • I’m still toying with the idea of using ghost. However, there are some drawbacks which I’ll outline here

    1. No native searching feature for blog articles inside NodeBB that have been created in ghost. This brand that if you search for something here, your not going to find it as it won’t be in the database. This in my view is something of a show stopper
    2. I don’t really want to have to maintain two sets of code and also two independent platforms

    I guess I’m making my own decisions here in terms of perhaps abandoning the ghost route and doing something native in NodeBB instead.

  • Yeah, well… such seems to be the common path of Ghost… 👻

    Interesting. Great minds are thinking alike. Despite the group funding hoopla!

    I should like to explore this bee loggin’ stuff further. But alas, so much Internet, so little time… 🐕

  • @gotwf said in Anyone using Ghost ?:

    Interesting. Great minds are thinking alike. Despite the group funding hoopla!

    I’m interested in any views you may have around using NodeBB for Blogging. There’s a plugin I’m using which enables a layout like this

    ba670f94-e08b-44c1-950e-8bfd63ce37e7-image.png

    I actually quite like the way this pans out. I just wish there was more that could be done with the overall topic itself to get it to look more “blog like” without having to modify the topic template itself.

  • @phenomlab I think that looks like a pretty “natural” integration with NodeBB. Certified organic, even?

    KISS Engineering. If it scratches your itch and the fruit is hangin’ low… then maybe ya’ ought naught look a gift horse in the mouth. OTOH, if you have too much time on your hands, no life, are bored, or whatever… then by all means do feel free to chase the tail of that dragon…

    NodeBB’s comment, registration management, digest mgmnt, etc. is a big win out of the gate. Most built to purpose bee loggin’ platforms/suites have to build that. All of which duplicated efforts lead the holy grail of SSO. But, oh, snap! Big Bro IS watchin’… So what to do, what to do?

    The bee loggin’ forum hybrid may well be akin to a good marriage with the total being greater than the sum of the parts. Worthy of further investigation/flirtation, at the least.

  • @gotwf Thanks. Good points. I noticed yesterday that the integration between Ghost and NodeBB does seem to work (at least, someone tested it and has it working), so it’s still an avenue worth review in my view.

  • @phenomlab Indeed. Looking forward to it. 👍 🐕

  • @gotwf I’ve implemented it here. I really like the way it works and above all, it’s fast. It is lacking in native functionality in comparison to WordPress for example, although you can’t compare PHP to NodeJS as that just isn’t apples for apples.

  • @phenomlab Well, like you said, it’s fast, so no need to compare to php apples.


  • 4 Votes
    9 Posts
    30 Views

    @Hari Interested to know how you got on with the GHOST journey 🙂

  • 1 Votes
    1 Posts
    42 Views

    I thought I had already created a dedicated thread for this elsewhere, but clearly not - it was probably bundled in with another topic.

    If you want to create an “Author” badge on each post that looks like the below, you can do this using pure CSS

    d983d994-c4b6-4063-ae1e-74bba88d75b5-image.png

    Required CSS

    .topic-owner-post [itemprop=name]:after { border: 2px solid var(--bs-border-color); border-radius: 0.25rem !important; color: var(--bs-body-color); content: "Author"; margin-left: 5px; padding: 2px 10px; display: inline-block; }

    However, things get slightly more complicated if you want to add an icon in the same element, like the below

    a81318a0-a15c-45f1-94f7-ee17a1931433-image.png

    As the above example makes use of the :after pseudo element, it’s not possible to have two font-family statements when using content: ""

    To facilitate this, you’d need a jQuery function that looks like the below

    $(document).ready(function() { $(window).on('action:ajaxify.end', function(data) { $(".topic-owner-post [itemprop=name]").append("<span class='author'><span class='author-icon'><i class='fa-light fa-bullhorn'></i>Author</span>"); }); });

    Here, you use span tags to insert both the icon, and text 🙂

    Obviously, you need to ensure that the css for .author and .author-icon exist.

    Here’s an example

    span.author { border: 2px solid var(--bs-border-color); border-radius: 0.25rem !important; color: var(--bs-body-color); content: "Author"; margin-left: 5px; padding: 2px 10px; display: inline-block; } span.author-icon i { margin-right: 5px; }
  • 0 Votes
    2 Posts
    36 Views

    @mventures Quick reply is basically exactly that. However, it’s possible to trigger the full composer as below

    82ca1209-31be-4a51-a641-9887b5a238b8-image.png

    Failing that, you’ll need to use the reply button in the sticky toolbar

    1d230bcb-ff8e-4756-94f7-6e2fb7a94bc4-image.png

  • 7 Votes
    10 Posts
    285 Views

    @phenomlab Thanks 🙏

  • 2 Votes
    6 Posts
    252 Views

    @kurulumu-net CSS styling is now addressed and completed.

  • 0 Votes
    1 Posts
    141 Views

    I’ve seen plenty of useless error messages over my career in IT, but this one really takes the p…

    After recovering my Ghost blog, I was met with the below error

    sudonix@vps:~/domains/content.sudonix.com/public_html$ ghost start ✔ Checking system Node.js version - found v14.18.1 ℹ Ensuring user is not logged in as ghost user [skipped] ℹ Checking if logged in user is directory owner [skipped] ✔ Checking current folder permissions ✔ Validating config ✔ Checking memory availability ✔ Checking binary dependencies ✖ Starting Ghost: content-sudonix-com A GhostError occurred. Message: Ghost was able to start, but errored during boot with: Cannot read property 'config' of undefined Debug Information: OS: Ubuntu, v20.04.3 LTS Node Version: v14.18.1 Ghost Version: 4.22.4 Ghost-CLI Version: 1.18.0 Environment: production Command: 'ghost start' Additional log info available in: /home/sudonix/.ghost/logs/ghost-cli-debug-2021-11-22T11_29_19_297Z.log Try running ghost doctor to check your system for known issues.

    Now let’s be 100% transparent here. This error message means nothing to nobody, isn’t documented anywhere on the Ghost forums, and is as much use as a chocolate fireguard.

    I was ready to throw in the towel and choose another platform, then it suddenly dawned on me that I’m not using the default Casper theme, but Leibling, which of course, is missing. I downloaded this, and extracted it to the themes directory, and lo and behold…

    sudonix@vps:~/domains/content.sudonix.com/public_html$ ghost start ✔ Checking system Node.js version - found v14.18.1 ℹ Ensuring user is not logged in as ghost user [skipped] ℹ Checking if logged in user is directory owner [skipped] ✔ Checking current folder permissions ✔ Validating config ✔ Checking memory availability ✔ Checking binary dependencies ✔ Starting Ghost: content-sudonix-com ------------------------------------------------------------------------------ Your admin interface is located at: https://content.sudonix.com/ghost/ sudonix@vps:~/domains/content.sudonix.com/public_html$

    Something to bear in mind in case you run across the same issue.

    Shame on 👻 for not being more specific around the true origin of this error.

  • 4 Votes
    10 Posts
    298 Views

    @phenomlab yeah its a beautiful world, i’m trying to have some practice

    https://rapidapi.com/user/justoverclockl

    i’ve released two simple api for now, but i’m try to learn as much as i can 🙂