• Stars
    star
    104
  • Rank 330,604 (Top 7 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 16 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The zero-UI Web notepad

Edith

A quick small wiki, perfect for pasting quick texts or code and sharing it between friends.

Don’t worry about saving, it saves at every key stroke. Think of it as a magic zero-UI Web notepad.

Try it out at https://edit.sunfox.org/any-page-name.

Usage

  • /any-page-name: type what you want, it’s saved automagically!
  • /any-page-name.txt: raw text version.
  • /any-page-name.html: HTML version through the Markdown syntax.
  • /any-page-name.remark: Slideshow version using Remark.
  • /any-page-name.graphviz: Graph version of the dot syntax using Viz, see WebGraphViz for examples.

Keyboard shortcut cltr-e switches from edit mode to HTML mode.

Favicon

Animated screenshot of the Favicon changing as the page updates

The favicon changes as the page updates and is also an indicator that the page is currently saving or not.

REST

Edith is also a RESTful API. So go ahead and try to PUT or DELETE on these URLs.

Install it yourself

Clone it locally:

$ git clone https://github.com/sunny/edith.git
$ cd edith

Using Docker

Build the image:

$ docker build . -t edith

Run it:

$ docker run --rm -p 8888:80 edith

Now you can access Edith from http://localhost:8888/

Using a local web server

Make the data directory writable:

$ chmod a+w data

Run it with a web server that interprents PHP and points all 404s to index.php:

  • PHP’s built-in server for development:

    $ php -S localhost:8888 index.php
  • Apache:

    You can use the example htaccess.

    $ cp htaccess.example .htaccess
  • nginx:

    Add the following directive to your nginx configuration:

    try_files $uri $uri/ @rewrites;
    location @rewrites {
      rewrite ^ /index.php last;
    }
    

Further use

Configuration

Copy config.example.php to config.php and read the examples to use your own configuration file.

Read-only pages

To make pages read-only, make them non-writable on disk:

$ chmod -w data/foo.txt

They will then be shown using the HTML representation through Markdown instead.

To deactivate the creation of new pages, make the data directory itself non-writable.

URLs

You may use any file name you like as long as it doesn’t end like a representation (.txt or .html).

If you prefer /page.js/txt URLs instead of /page.js.txt, the config file has a setting for you.

Contributing

You are welcome to contribute by adding issues and forking the code on GitHub.

Licence

Edith is released under the MIT License.

More Repositories

1

actor

Composable Ruby service objects
Ruby
709
star
2

so-nice

Small Web interface to control iTunes, Spotify, Rdio, MPD, Rhythmbox, Amarok and XMMS2. ♫
Ruby
145
star
3

graph_attack

Ruby GraphQL analyser for blocking & throttling calls by IP
Ruby
48
star
4

anyplayer

Interact with the currently running music player. Supports iTunes Mac, iTunes Windows, Spotify Mac, Rdio Mac, MPD, Rhythmbox, Amarok and XMMS2.
Ruby
46
star
5

provide-html5

Drop-and-forget bunch of scripts that mimick some missing html5 goodies automatically
JavaScript
26
star
6

carrierwave-color

Store the dominant color of an image with CarrierWave
Ruby
22
star
7

active_currency

Rails plugin to store currency rates in the database
Ruby
18
star
8

handle_invalid_percent_encoding_requests

Rails Engine to handle badly encoded requests
Ruby
17
star
9

rateaux

A few useful rake tasks for Rails
Ruby
17
star
10

action_mailer_auto_url_options

Make ActionMailer use the current request host and protocol for URL generation
Ruby
15
star
11

craster

Create PNG thumbnails from STL 3D models
JavaScript
14
star
12

pouce

Cute PHP directory lister, index-of style
PHP
12
star
13

actor-rails

Actor Rails provides Rails support to the Actor service objects
Ruby
11
star
14

dev-ideas

A issues-only repository to store a few code ideas
10
star
15

daylist

A small ruby program for unit-testing one's life
Ruby
10
star
16

google-lucky-image

PHP script that returns the first image in a Google Image search
PHP
9
star
17

git-deploy

git alias to do remote git pulls.
Shell
7
star
18

route_localize

Rails 4 engine to translate routes using locale files and subdomains.
Ruby
7
star
19

bigbuttons

Big buttons which one punches to make sweet HTML5 <audio> sound
JavaScript
7
star
20

killbills

Rails app to track expenses with friends
Ruby
7
star
21

srename

Quickly rename TV Series files
Ruby
6
star
22

all3dp

Ruby gem to send 3D files to Craftcloud, All3DP's 3D Printing Price Comparison Service API
Ruby
5
star
23

rimes

Ruby script to find rhymes
Ruby
5
star
24

meuh

A stupid Slack and IRC Bot AI
Ruby
5
star
25

iou

Rails app to track expenses with your friends
JavaScript
5
star
26

git-ics

Makes an icalendar file from a git or github repository
Ruby
5
star
27

html5-slides

A very light slide-show-system using html5 and jQuery
JavaScript
5
star
28

mariokartwiit

Finds your friends' Mario Kart Wii codes on Twitter
Ruby
5
star
29

layout_values

Rails plugin to add helpers to indicate page titles and meta description.
Ruby
5
star
30

wubmail

Ruby lib and cli to send erb emails to people in a CSV
Ruby
5
star
31

wordpress-svn-update

WordPress plugin to update WordPress and svn:external plugins in one click
4
star
32

damn_hotlinkers

Script to use against an HTTP log to find out who points directly towards your files
Ruby
4
star
33

pw-conference-generator

Générateur de conférences Paris Web
JavaScript
4
star
34

frugal

Tiny french Rails app to follow my personnal expenses
JavaScript
3
star
35

m3uh

A PHP m3u music playlist generator
PHP
3
star
36

deezer-scrobbler-userscript

Adds to Last.fm the songs played on Deezer.com
JavaScript
3
star
37

miniatures

PHP script that creates and spits back thumbnails on-the-fly
PHP
3
star
38

remotransmission

Command line interface for remote Transmission
Ruby
3
star
39

difffeed

Makes an RSS feed of the new and deleted files in a path
Ruby
3
star
40

irclink

Stargate between IRC channels
Python
2
star
41

raise_js

Raise JavaScript errors as Ruby exceptions in your Rails app
Ruby
2
star
42

ircbot

IRC Bot supporting plugins
Python
2
star
43

tangram-importer

Web API to import contacts from Google, Yahoo!, etc. with no passwords
Ruby
2
star
44

gnome_random_wp

Periodically change your wallpaper under Gnome
Python
2
star
45

emailid

Rails OpenID provider authenticating users by their email
Ruby
2
star
46

slash3d

Ruby gem to access 3D Slash's API
Ruby
2
star
47

allocine

Allocine.fr parser
Ruby
2
star
48

hubs3d

Ruby gem to access 3D Hub's API
Ruby
2
star
49

carrierwave-processing-dominant_color

Store the dominant color of an image with CarrierWave (MOVED to carrierwave-color)
2
star
50

sunny.github.io

HTML
1
star
51

restaurants-api

Ruby
1
star
52

luc

Slack bot that fetches data from Cults
Ruby
1
star
53

devise-track_locale

Adds support to Devise for remembering a user's last locale
Ruby
1
star
54

reach5

Ruby gem for Reach5's Customer Identity Management Platform API
Ruby
1
star
55

chromium-buildpack

Shell
1
star
56

aoc

Ruby
1
star