ghost-ssg

A Docker-based pipeline to publish the content of a local Ghost 4 server as static pages.

https://github.com/rija/ghost-ssg

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary

Keywords

bash blogging cli docker docker-compose ghost ghost-cms gitlab integration jamstack nginx nodejs publishing scraping-tool self-hosted static-site-generator web-scraper wget workflow
Last synced: 4 months ago · JSON representation ·

Repository

A Docker-based pipeline to publish the content of a local Ghost 4 server as static pages.

Basic Info
  • Host: GitHub
  • Owner: rija
  • License: mit
  • Language: Shell
  • Default Branch: main
  • Homepage:
  • Size: 57.6 KB
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Topics
bash blogging cli docker docker-compose ghost ghost-cms gitlab integration jamstack nginx nodejs publishing scraping-tool self-hosted static-site-generator web-scraper wget workflow
Created almost 3 years ago · Last pushed almost 3 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security

README.md

Ghost-ssg tests Chat on Matrix

A Docker-based pipeline to publish the content of a local Ghost 4 server as static pages.

How it works

┌──────────────────────────────┐ ┌──────────────────────────────┐ ┌──────────────────────────────┐ ┌──────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ export │ │ preview │ │ git push │ │ │ Post editing and management ├────────────────────► Static pages on file system ├────────────────────────►Site served on local web server──────────────────►Site served on GitLab Pages │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────┘ └──────────────────────────────┘ └──────────────────────────────┘ └──────────────────────────────┘

Prerequisites

  1. You need to have installed on your system already:
  • Docker
  • bash
  • git
  • bats-core (optional, for running the test suite)
  1. To publish to remote destination, you need to have a git-enabled remote static page hosting setup and configured:

| Host type | Needs done before | More infos | | -- | -- | -- | | Bitbucket | have created a new repository on Bitbucket.org| https://support.atlassian.com/bitbucket-cloud/docs/publishing-a-website-on-bitbucket-cloud/ | | Codeberg | have created a new public repo named "pages" on Codeberg.org | https://docs.codeberg.org/codeberg-pages/ | | GitHub | have followed instructions in the docs on Github.com | https://docs.github.com/en/pages/quickstart | | GitLab | have created a new project of type "Pages/Plain HTML" on GitLab.com | https://docs.gitlab.com/ee/user/project/pages/ |

Disclaimer: at time of writing, I have only tested with GitLab.com (it may work on other GitLab-based forges - like framagit.org - , not sure for the other ones)

Usage

  1. Run the setup script:

$ ./setup Then edit .env file to assign a value to DEST_REPO, ensure the value for PAGESREPOPATH and DEST_BRANCH are correct

  1. Start the servers (the blog editor, the preview server and the backup server)

$ ./up Ghost is now available at http://localhost:2368

  1. Export the content of Ghost as static file for preview

$ ./preview

A preview of the static website can be viewed at http://localhost:9999

  1. Publish the content of Ghost

$ ./publish

The static web pages are first exported in the public directory inside the directory defined by the $PAGESREPOPATH variable. Then the changes are commited and pushed to the remote git repository.

  1. Backup your installation

$ ./backup

This will backup the SQL database and the content directory

  1. Shutdown the servers

$ ./down

Troubleshooting

  • Show what server is up:

$ ./whatsup

  • Inspect the server logs:

$ ./log

  • Show the current versions of the dependencies

$ ./versions

  • Run the test suite

$ ./test

  • Restore from backup

$ ./restore

Owner

  • Name: Rija Ménagé
  • Login: rija
  • Kind: user
  • Location: UK - France - HK
  • Company: Cinecinetique Ltd

WebDevelopment and DevOps

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you write about this software, please cite it as below."
authors:
- family-names: "Ménagé"
  given-names: "Rija"
  orcid: "https://orcid.org/0000-0001-6269-6662"
title: "Docker-based, Opensource pipeline to make static webpages from a locally deployed instance of Ghost(Headless NodeJS CMS)"
date-released: 2023-01-22
url: "https://github.com/rija/ghost-ssg"
references:
  - authors:
      - family-names: Niksic
        given-names: Hrvoje
    title: "GNU Wget"
    type: software
    version: 1.21.3
  - authors:
      - name: Fried-Chicken
    title: "ghost-static-generator"
    type: software
    version: 1.1.4
  - authors:
      - name: "Ghost Foundation"
    title: "Ghost"
    type: software
    version: 4.48.1
  - authors:
      - family-names: Sysoev
        given-names: Igor
    title: "Nginx"
    type: software
    version: 1.23.3   
  - authors:
      - family-names: Dahl
        given-names: Ryan
    title: "NodeJS"
    type: software
    version: 19.4.0    
  - authors:
      - family-names: Bennett
        given-names: Tim
    title: "Ghost Backup"
    type: software
    version: 4   

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 70
  • Total Committers: 2
  • Avg Commits per committer: 35.0
  • Development Distribution Score (DDS): 0.014
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Rija Ménagé 1****a 69
Rija Ménagé r****s@e****c 1
Committer Domains (Top 20 + Academic)
eml.cc: 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 20
  • Total pull requests: 23
  • Average time to close issues: 6 days
  • Average time to close pull requests: 22 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.1
  • Average comments per pull request: 0.0
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • rija (20)
Pull Request Authors
  • rija (23)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Dependencies

docker-compose.yml docker
  • bats/bats 1.8.2
  • ghost 4.48.8-alpine
  • nginx 1.23.3-alpine
  • rija/gssg 20230124
gssg/Dockerfile docker
  • node 19.4.0-alpine3.17 build