Giter Site home page Giter Site logo

flourish's Introduction

Run tests

Flourish

Flourish is a static website generator. It can be used to create a blog or journal, a photo gallery, a portfolio, documentation, and any other kind of website โ€” as long as the pages should always be the same no matter when, who, how, or what, is viewing them.

By separating your content ("source") from the HTML ("template"), you can focus more on the adding of new content than on the act of wrangling web pages. Further, because your content can be written in Markdown rather than HTML, you can concentrate on just your content, on just your words, and let the website take care of itself.

It is designed around the ideas that:

  • only combining your content with predefined themes is limiting for any site but the most basic
  • plugins are stop-gap solution and often don't work the way you want, making you change your pages and designs to fit the plugin
  • if you have specific requirements on how the site should work, you should not be held back

Whilst being perfectly useful for non-programmers, Flourish really shines in the hands of developers who can write python. It can create almost any content, and be setup to create webpages in almost any way.

It is heavily inspired by django's class based views and James Aylett's django file-backed objects.

Quick start

Flourish is installable from pypi.

pip install flourish
mkdir example
cd example
flourish example

Documentation

The Flourish documentation is available on Read the Docs.

There is also a (very quiet and empty) Slack for users of Flourish.

TODOs

Outstanding work is mostly kept in GitHub Issues (or as FIXMEs and TODOs in the code where I've been lazy, or they don't introduce new features).

Things that will be added in the near future are listed in Issues, tagged with the 1.0 milestone.

Things that will be added in the longer term are listed in Issues, tagged with the 2.0 milestone.

Things I'll probably never get around to are listed in Issues, tagged Pie in the Sky.

Anything in Issues without a milestone is probably a bug reported by lovely people trying to improve Flourish.

flourish's People

Contributors

norm avatar

Stargazers

 avatar Tuan Duc Tran avatar Vasya Poteryaiko avatar Shekhar avatar Jenifer Hanen avatar Zac Tolley avatar James avatar Ryan Alexander avatar Angus H. avatar Jason Garber avatar James Aylett avatar Cyril Doussin avatar Mike Davies avatar  avatar

Watchers

 avatar Mike Davies avatar Ryan Alexander avatar James Aylett avatar Jenifer Hanen avatar James avatar James Cloos avatar  avatar

Forkers

ramiro

flourish's Issues

Support python 3

Currently Flourish is written for python 2 because it is still the default python on many operating systems (especially OS X where it is developed). Making it also compatible with python 3 is desirable.

Add 301, 302, 404 and 410 responses to the server

Through some (as yet undetermined) method, support adding 301 Moved Permanently, 302 Found, 404 Not Found, and 410 Gone HTTP statuses to the server.

301s and 404s should be replicated when uploading to S3. The other codes are not supported.

Create a new, default blog

Publishing a blog is a very common use of Flourish, so the command-line tool should be able to set up a new blog with sensible default templates and a generate script.

Document how to setup S3 for hosting a website

Should be mostly linking to other documentation.

Include how to setup CloudFront and Lets Encrypt for HTTPS.

Alternatively, think about adding it to the command line, eg flourish setup s3.

Create `sectile` style template includes

Rather than the standard {% extends ... %} provided by Jinja2, allow subtemplates to be included in a sectile manner, using the slug and other factors to determine the dimensions used.

(nb. this will make no sense to anyone other than me, as sectile is a piece of software I never released)

Stop the preview server exploding so readily

Errors in source files, templates and the generate script can cause the preview server to explode. It should be more robust, and where it does explode, the flourish server process should exit so it is clearer that the user needs to restart it manually.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.