Quentin Schulz f4888f6831 themes: fix URI matching used for deciding if URI's local in menu
We want to distinguish between URI references ("local" pages), such as
path/to/another/page/of/my/website, from the other ones, such as
https://example.com in the menu to know how to build the URL.

The issue is that we did the distinction between the two by checking if
the string starts with "http".
Unfortunately, it does not match other valid URI schemes. One example is
mailto:address@example.com to open a mail client with the recipient
being address@example.com.
There are many other valid URI schemes (tel, ftp, irc, ...).
Under the current code, we think anything that isn't started by "http"
is local, i.e. we need to append the string to the parent path of the
current page.
This means that we have
https://mywebsite.example.com/mailto:address@example.com linked in the
menu instead of the expected mailto:address@example.com.

Let's fix that with a very simple test. A URI reference is commonly
detected as anything that does not contain a scheme (which has to be
suffixed by ':') or if it does, that the given path starts with './'.

This is most likely not handling all the cases but at least most of the
common ones.

Please refer to the RFC for further information:
https://www.rfc-editor.org/rfc/rfc3986.txt

Signed-off-by: Quentin Schulz <foss@0leil.net>
2019-03-20 20:56:16 +00:00
2018-04-30 11:59:03 +02:00
2016-02-19 09:51:07 +01:00
2016-05-12 12:30:21 +02:00
2018-03-06 09:36:43 +01:00
2018-03-06 09:35:38 +01:00
2018-03-06 09:33:56 +01:00
2016-04-19 11:37:59 +02:00
2018-12-05 16:18:05 +01:00
2017-07-03 13:37:38 +02:00
2016-02-09 23:22:39 +01:00
2018-03-27 10:58:33 +02:00

Prosopopee

Prosopopee. Static site generator for your story.

Make beautiful customizable pictures galleries that tell a story using a static website generator written in Python. You don't need to care about css, code and presentation, manage your contents in YAML file and Prosopopee will take care about the rest.

Prosopopee is sections oriented, make it very flexible, many kinds of section already available:

  • Parallax
  • Group of pics (gallery)
  • Paragraph
  • Iframe (Youtube, Maps, etc..)
  • Quote
  • And more

Screenshots

Features

Prosopopee currently supports:

  • Lightweight
  • Thumbnails & multiple resolutions for fast previews (JPEG progressive)
  • Videos support
  • Mobile friendly
  • Caching for fast rendering
  • Multi level gallery
  • Support themes (default, material, light)
  • Password access (encrypt page)
  • Image lazy loading
  • Night Mode
  • Completely static output is easy to host anywhere
  • Hackable

Examples

You can find example usages here:

Code example

title: Title
date: 2015-12-18
cover: P1070043-01-01.jpeg
sections:
  - type: full-picture
    image: P1060979-01-01.jpeg
    fixed: true
    text:
      title: My Story
      sub_title: some subtitle
      date: 2015-12-18
  - type: paragraph
    title: Beautiful Title
    text: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor
  - type: pictures-group
    images:
      -
        - P1060938-01-01.jpeg
        - P1060946-01-01.jpeg
        - P1060947-01-01.jpeg
        - P1060948-01-01.jpeg

Usage

prosopopee
prosopopee preview
prosopopee deploy
prosopopee test
prosopopee (-h | --help)
prosopopee.py --version

Docker

https://hub.docker.com/r/beudbeud/prosopopee/

Licence

GLPv3

Documentation

http://prosopopee.readthedocs.org/en/latest/

IRC

channel : irc.freenode.net#prosopopee

Description
MagosIT CMS
Readme 61 MiB
Languages
HTML 43.9%
CSS 43.2%
Python 12.9%