Developer Issues

Loading

Issues which developers use when using ghost.org.


I ws so stressed out developing for Ghost, I had to take a day off work to recover. 

Its All Javascript

I understand that Javascript runs in the browser, and has the largest number of users of any language.  Bit tjat does not make it a good language for the server.  Did you know that Javascscript was developed in just 10 days.  Much better to use a mature language like Python which gives a much cleaner conceptual model and higher developer productivity.  

A Messy Conceptual Model

Python's, Pyramid and Django give a model of views on objects.  So if you have a page or posting called my-article then you can view he article at: 

https://my-web-site/my-article

and you can edit the article at 

https://my-web-site/my-article/edit

In contrast, well I really do not know what model Ghost supports, but to edit an article I have to type in the following url. 

https://lozinski-ghost.sloppy.zone/ghost/#/editor/post/605c9bd6f2352f000192585a

 Quite impossible to remember and type that url into the browser directly. 

The Schema is not Extensible

The lack of alternative social media links in the database could be easily fixed if we could extend the schema.  Imagine a MongoDb which allows you to dynamically add fieds.  The user interface could be the same way.  But that is not possible.  Not for social media, nor for any other record type.  Sad. 

No Pug in Sight

Pug is a great way to generate HTML templates.  Like Python, it uses indentation to define structure, which allows it to throw out the closing HTML tags, and opening brackets.  To syntax check, or compress Ghost templates we have to install Node development tools.  Really it is best to install a full local server, meaning we are almost doing Node development.  If we are dong Node development, it would be nice to use Pug to generate the HTML templates, but that is not clear how to do it.  It was only after writing this paragraph that I realized I might be able to do it. 

Some Admins are Developers

Large organizations have strictly defined job descriptions.  But in reality  many traditionally literate writers are also HTML literate.   When I was writing this post, I had two problems. It way too long.   And I realized that it would work better in 3 column layout So I broke it up into 4 parts.  A brief introduction, and the three columns.  Then I put each column in a separate blog article and linked them together with the following Bootstrap Chameleon Page Tempalte fragment. 

 <div class = "container" style ="width: 100vw; clear:left;">
  <div class = "row">
    <div class = "col col-sm-12 col-md-6 col-lg-4"
       tal:repeat="item context.childCategories()">
       <h2>${item.title}</h2>
       <div>${structure:item.source}</div>
    </div>
  </div>
</div>

And that gave me this very nice web page, and 3 search friendly child pages.