National Gallery - Simple Site Example

In addition to hosting software and files, as part of development projects, GitHub also provides the resources to host dedicated websites, to present and demonstrate ones work. This project has been developed to provide a, relatively, simple system for creating a standard set of these webpages, based on a small set of text files, formatted as JSON files. It was built to work along side a number of other GitHub projects, to provide a method of creating a set of consistent webpages, delivered using GitHub Pages.

Simple Site Graphic

The content of the presented webpages are controlled with two main JSON files, augmented by optional additional files, stored in a local build folder.

  • Various site wide details are defined within the site.json file.
  • The content for the individual web-pages are defined within the pages.json file. With the main pages being listed as tabs, and any sub-pages, or even sub-sub-pages etc, listed within drop-down menus from the related main page tab.

The content added to these JSON files is automatically processed every time the files are edited and a new set of webpages will be created.


    Display the full code used to define this page.

    Page JSON Object

    {
        "parent": "",
        "class": "",
        "file": "",
        "title": "National Gallery - <b>Simple Site</b> Example",
        "content": "<p>In addition to hosting software and files, as part of development projects, [GitHub|https://github.com] also provides the resources to host dedicated websites, to present and demonstrate ones work. This project has been developed to provide a, <b>relatively</b>, simple system for creating a standard set of these webpages, based on a small set of text files, formatted as [JSON|https://www.json.org] files. It was built to work along side a number of other GitHub projects, to provide a method of creating a set of consistent webpages, delivered using [GitHub Pages|https://pages.github.com].</p>\r\n\t<a href=\"https://github.com/jpadfield/simple-site\">\r\n\t\t<img style=\"position:relative;width:400px;\" class=\"rounded mx-auto d-block\" alt=\"Simple Site Graphic\" src=\"graphics/simple%20site%2001.png\">\r\n\t</a>\r\n<br/>\r\n<p>The content of the presented webpages are controlled with two main JSON files, augmented by optional additional files, stored in a local <b>build</b> folder.</p>\r\n<ul>\r\n\t<li>Various site wide details are defined within the [site.json|site.json.html] file.</li>\r\n\t<li>The content for the individual web-pages are defined within the [pages.json|pages.json.html] file. With the main pages being listed as tabs, and any sub-pages, or even sub-sub-pages etc, listed within drop-down menus from the related main page tab.</li>\r\n</ul>\r\n<p>The content added to these JSON files is automatically processed every time the files are edited and a new set of webpages will be created.</p>\r\n\r\n<div class=\"alert alert-info\" role=\"alert\">\r\n\t<h4 class=\"alert-heading\">Getting Started</h4>\r\n\t<p>[Join GitHub|https://github.com/join] &#8608; [Copy/Fork|https://help.github.com/en/github/getting-started-with-github/fork-a-repo] the repository &#8608; setup your [GitHub Action|https://help.github.com/en/actions] &#8608; Edit the JSON files &#8608; and Enjoy!</p>\r\n\t<p>For more information see the [Instructions|instructions.html] page, the [JSON|JSON.html] pages and browse the various examples provided.</p>\r\n</div>\r\n\r\n<div class=\"alert alert-info\" role=\"alert\">\r\n\t<h4 class=\"alert-heading\">New to GitHub</h4>\r\n\t<p>For those new to GitHub there is a lot of general documentation out there, such as [Github Guides|https://guides.github.com/] and [Getting Started with GitHub|https://help.github.com/en/github/getting-started-with-github], but one particular place to start might be the series of videos, [GitHub for Poets|https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV].</p>\r\n</div>",
        "content right": "",
        "copy": true,
        "displaycode": true
    }
    The complete JSON object used to define this content and layout of this page.