render-engine


Namerender-engine JSON
Version 2020.7.21 PyPI version JSON
download
home_pagehttps://render-engine.site
SummaryStatic Page Generation with Flask-like simplicity and flair ✨
upload_time2020-07-22 17:20:15
maintainer
docs_urlNone
authorJay Miller
requires_python>=3.8
license
keywords static site web framework
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## What is RenderEngine

The idea of Render Engine is that you have the flexibility of dynamic webpages with the performance of static sites.

Render Engine was built out of frustration with existing tools.
Larger frameworks are too vast.
Dynamic Services like _Flask_ required overhead of a server where in many cases were not necessary.
Extensions to Flask that provided a static component added even more unnecessary complexity and updates have been inconsistent.
Other static-site generators like _Pelican_ were built without modern architectures and design practices in mind.

## The _3 layer_ Architecture 

* **[Page](render_engine/page.html)** - A single webpage item built from content, a template, raw data, or a combination of those things.
* **[Collection](render_engine/collection.html)** - A group of webpages built from the same template, organized in a single directory
* **[Site](render_engine/site.html)** - The container that holds all Pages and Collections and gives access to global configurations and settings.

Your site will have an [Engine](render_engine/engine.html) that can _render_ your html (and other things), hence the name.

You can expand any of these areas to customize your engine to your liking.

**Things you can do in with Render Engine:**

- Create **Custom Page Objects** (Like Blog or MicroBlog Posts)
- Create all types of Page Objects, not just 'html' pages
- Run Multiple Engines for subdomains or multiple template systems or Multiple Sites!
- Dynamically create content at runtime to include into your static sites

## As simple/complex as required

- Render Engine uses [Jinja2] as the defaul engine to bring the power of templates to your page. You can create your own custom engines if you have a specific need.
- Content can be markdown/html/or RAW DATA to give you the content you need.

# Installing Render Engine

## Dependencies:
- [Python3.8](https://python.org) or later.

### Other Dependencies that install with render-engine
- [Jinja2] - for template things
- [Pendulum] - for datetime things
- [Click] - for some commandline goodness
- [more-itertools] - for iteration things
- [markdown] - for markdown things

### Using pip
`pip install render-engine`

# Get Started Quickly

### The Quick Way

`render-engine-quickstart`

![render-engine-quickstart](https://s3-us-west-2.amazonaws.com/kjaymiller/images/Render%20Engine%20Quickstart.gif)

This will create your essential files and a `run.py` that you can use to build
your output file using `python run.py`

Render Engine DOESN'T Need the following but this model can quickly get you on your way.

```
content/ # store content for collections here
run.py # use `python run.py` to build your site.
templates/
  - page.html # default template for Page objects. Modify this file to fit your design
  - all_posts.html # default template for Collection objects. Modify this file to fit your design
static/ # will be copied into your generated output. great for storing css/.js/image files
```

## Sponsors
This and much of the work that I do is made possible by those that sponsor me
on github. 

### Sponsors at the $20/month and higher Level
- [Brian Douglas](https://github.com/bdougie)
- [Anthony Shaw](https://github.com/tonybaloney)
- [Carol Willing](https://github.com/willingc)

Thank you to them and all of those that continue to support this project!

[Jinja2]: https://jinja.palletsprojects.com/en/latest
[Pendulum]: https://pendulum.eustace.io
[Click]: https://click.palletsprojects.com/en/latest
[more-itertools]: https://more-itertools.readthedocs.io/en/stable/
[markdown]: https://python-markdown.github.io
            

Raw data

            {
    "_id": null,
    "home_page": "https://render-engine.site",
    "name": "render-engine",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "static site web framework",
    "author": "Jay Miller",
    "author_email": "jay@productivityintech.com",
    "download_url": "https://files.pythonhosted.org/packages/ff/b3/2f20521e14da39bd9b3e90f21029e2d646ba1b36318bc27ae60a61b474af/render_engine-2020.7.21.tar.gz",
    "platform": "",
    "description": "## What is RenderEngine\n\nThe idea of Render Engine is that you have the flexibility of dynamic webpages with the performance of static sites.\n\nRender Engine was built out of frustration with existing tools.\nLarger frameworks are too vast.\nDynamic Services like\u00a0_Flask_\u00a0required overhead of a server where in many cases were not necessary.\nExtensions to Flask that provided a static component added\u00a0even more unnecessary complexity and updates have been inconsistent.\nOther static-site generators like\u00a0_Pelican_\u00a0were built without modern architectures and design practices in mind.\n\n## The _3 layer_ Architecture\u00a0\n\n* **[Page](render_engine/page.html)**\u00a0- A single webpage item built from content, a template, raw data, or a combination of those things.\n* **[Collection](render_engine/collection.html)**\u00a0- A group of webpages built from the same template, organized in a single directory\n* **[Site](render_engine/site.html)** - The container that holds all Pages and Collections and gives access to global configurations and settings.\n\nYour site will have an [Engine](render_engine/engine.html) that can _render_ your html (and other things), hence the name.\n\nYou can expand any of these areas to customize your engine to your liking.\n\n**Things you can do in with Render Engine:**\n\n- Create\u00a0**Custom Page Objects**\u00a0(Like Blog or MicroBlog Posts)\n- Create all types of Page Objects, not just 'html' pages\n- Run Multiple Engines for subdomains or multiple template systems or Multiple Sites!\n- Dynamically create content at runtime to include into your static sites\n\n## As simple/complex as required\n\n- Render Engine uses [Jinja2] as the defaul engine to bring the power of templates to your page. You can create your own custom engines if you have a specific need.\n- Content can be markdown/html/or RAW DATA to give you the content you need.\n\n# Installing Render Engine\n\n## Dependencies:\n- [Python3.8](https://python.org) or later.\n\n### Other Dependencies that install with render-engine\n- [Jinja2] - for template things\n- [Pendulum] - for datetime things\n- [Click] - for some commandline goodness\n- [more-itertools] - for iteration things\n- [markdown] - for markdown things\n\n### Using pip\n`pip install render-engine`\n\n# Get Started Quickly\n\n### The Quick Way\n\n`render-engine-quickstart`\n\n![render-engine-quickstart](https://s3-us-west-2.amazonaws.com/kjaymiller/images/Render%20Engine%20Quickstart.gif)\n\nThis will create your essential files and a `run.py` that you can use to build\nyour output file using `python run.py`\n\nRender Engine DOESN'T Need the following but this model can quickly get you on your way.\n\n```\ncontent/ # store content for collections here\nrun.py # use `python run.py` to build your site.\ntemplates/\n  - page.html # default template for Page objects. Modify this file to fit your design\n  - all_posts.html # default template for Collection objects. Modify this file to fit your design\nstatic/ # will be copied into your generated output. great for storing css/.js/image files\n```\n\n## Sponsors\nThis and much of the work that I do is made possible by those that sponsor me\non github. \n\n### Sponsors at the $20/month and higher Level\n- [Brian Douglas](https://github.com/bdougie)\n- [Anthony Shaw](https://github.com/tonybaloney)\n- [Carol Willing](https://github.com/willingc)\n\nThank you to them and all of those that continue to support this project!\n\n[Jinja2]: https://jinja.palletsprojects.com/en/latest\n[Pendulum]: https://pendulum.eustace.io\n[Click]: https://click.palletsprojects.com/en/latest\n[more-itertools]: https://more-itertools.readthedocs.io/en/stable/\n[markdown]: https://python-markdown.github.io",
    "bugtrack_url": null,
    "license": "",
    "summary": "Static Page Generation with Flask-like simplicity and flair \u2728",
    "version": "2020.7.21",
    "split_keywords": [
        "static",
        "site",
        "web",
        "framework"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "336bba7db326bebfaf9e9821ff80b8a0",
                "sha256": "188e0914bf10d6ddafd28049cd20d2c6be3d05b2cd00d124eefabbc32e2ef8f9"
            },
            "downloads": -1,
            "filename": "render_engine-2020.7.21.tar.gz",
            "has_sig": false,
            "md5_digest": "336bba7db326bebfaf9e9821ff80b8a0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 18690,
            "upload_time": "2020-07-22T17:20:15",
            "upload_time_iso_8601": "2020-07-22T17:20:15.940513Z",
            "url": "https://files.pythonhosted.org/packages/ff/b3/2f20521e14da39bd9b3e90f21029e2d646ba1b36318bc27ae60a61b474af/render_engine-2020.7.21.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2020-07-22 17:20:15",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "render-engine"
}
        
Elapsed time: 0.13072s