
Introducing Prose: A Content Editor for GitHub - brunosan
http://developmentseed.org/blog/2012/june/25/prose-a-content-editor-for-github/
======
btipling
Wow, the UI on that is gorgeous. I noticed a trend to add features and
capability to GitHub which makes a lot of sense because it must have something
like millions of users by now and it's something many of here personally use.
I'm also working on something for GitHub (a work in progress,
<http://gitify.me> \- better notifications). I think we're going to see a lot
of growth in the ecosystem around GitHub and tools. Using git and GitHub is
going to become more important as time passes by.

For Prose, the front-end architecture makes a great deal of sense, and they
must be using a proxy to get around same origin on API requests. I think some
server side operations for caching might make sense to enable speed and reduce
the number of requests on GitHub.

~~~
lxbarth
> they must be using a proxy to get around same origin on API requests

Actually, the only part that's proxied through a server side app is
authentication. GitHub's v3 API supports CORS to the extent Prose uses it.

~~~
btipling
Oh that is sweet.

------
_mql
Using this thread to extend the discussion about digital content authoring...

Prose relies on Markdown, the current de-facto standard for content authoring
on the web.

But what comes after?

If you ask me the answer is clearly: Semantic Rich Text Editing.

So if you like Prose, you might also like the idea of Substance, which is
essentially about considering content as data and separating it from
presentation. The challenging part here is to come up with web-based tools,
that reliably maintain plaintext and annotations separately. Once these tools
are ready, a new generation of application for collaborative content
composition can be built. The resulting structured content is ready to be
analyzed, visualized, turned into arbitrary output formats (PDF,ePub, …) or
integrated with other applications.

Imagine Prose, providing WYSIWYG editing in realtime, plus the concept of
patches to suggest improvements to a particular document.

Related links:

\- <http://github.com/substance> (see composer, surface, text as well as
architecture and document repositories)

\- <https://github.com/prose/prose/issues/139>

So if (and only if) you like that idea, pls support our entry for the Knight
News Challenge's data call.

[http://newschallenge.tumblr.com/post/25422992783/substance-t...](http://newschallenge.tumblr.com/post/25422992783/substance-
towards-open-digital-publishing)

Or even better, start contributing! :)

Thanks,

Michael

~~~
lmm
You have it entirely backwards. Markdown is successful precisely because it
_isn't_ a semantic format; it's a reaction to overengineered semantic formats
like HTML. Markdown is a purely presentational format; asterisks don't
represent some abstract notion of emphasis, they denote italic text. The whole
point is that you _don't_ "maintain plaintext and annotations separately"; the
formatting is part of the text.

~~~
_mql
I agree on over-engineered semantic formats. HTML used to be a document
representation format. But for me it has turned into a presentation format,
with all the DOM manipulation etc. This is perfectly fine, I just had to
realize it. Now i just use divs and spans for my layouts, not trying to
'render' semantics. However, on a higher level there should be some document
representation formats that can be turned into anything. That's the idea.

Well and I really don't think inline styles / annotations are good.

~~~
lmm
>Well and I really don't think inline styles / annotations are good.

Oh but they are. For the vast majority of content creators, semantics are
inseparable from presentation; an article I write really does the semantics of
looking how it looks, and can't be transformed into something different.

Just like in programming, to extract a good abstraction such as the semantic
content of an article you need to test against three different
implementations. But most people only write for and test against a single
presentation version, so it should be no surprise that even if they try and
separate the semantics and the presentation, they'll get it wrong.

------
jashkenas
Very nice that it's open source. Some of the fun client-side bits appear to be
available here:

<https://github.com/prose/prose/tree/gh-pages/_includes>

------
te_chris
I would LOVE to be able to drop this and jekyll into a rails app as a gem (say
a standard SaaS app) and serve/manage the about/blog part of the app with
this. Is there anything like that?

~~~
andyl
+1

------
schrijver
This is quite awesome… I would love to see support for uploading files though!
For a Jekyll based site you also want to be able to put images etcetera in
there…

A lot of similar functionality is provided in GitHub’s wiki editor Gollum…
which you can use on any git repository, actually. Thought it was quite fun to
try out as well.

These solutions get more useful when there are more mixed repositories with
code and other content. In our design studio we have all kinds of content
usually in our Git: so the standard git viewing interface doesn’t do it
justice.

We’ve been trying to hack up a viewer for our git repositories, here is an
example: <http://osp.schr.fr/work/constant-flyer/view/latest/> the code of the
viewer itself is here: <http://osp.schr.fr/tools/visualculture/>

------
captn3m0
I've been working on an obtvse fork that uses github gists as its backend.
However, looking at this, I'm thinking of possibly just shifting to a jekyll-
like repository base structure, instead of the complex gist+json based stuff I
was using.

Thanks for the github.js. I'll try to add gists related stuff to it.

Btw,it didn't work on my iPad. Got to the repo choosing screen,but it gets
stuck after I choose a branch, or even if it autoselects master.

~~~
_mql
We'll do some optimizations for iPad if we get time. However, this would be a
great piece for getting involved. One blocker I see is that CodeMirror does
not work well with iPad touch events yet.

------
lysol
Just tried this out with my own crackpot Markdown based static site generator
and it works like a champ. What a pleasant surprise!

------
minhajuddin
How easy is it to integrate with other git providers or git from my own
servers? Jekyll is not the best for content management and has its own
drawbacks. But, this is something orthogonal to Jekyll, in that it call be
used to edit any git files. Definitely looking forward to tinkering with this
:)

------
craigmccaskill
Does this work with hosted jekyll sites or just those that live within github?
The documentation only mentions github, but after a quick look at the source
code I can't see any reason this wouldn't work (at least with some minor
modifications) on any hosted jekyll blog.

------
edwinyzh
Wonderful! The Ctrl + Shift + Left/Right key is handy.

Would you add an option to show a live preview side by side?

I'm a big fan of live preview, that's why I'm evening developer LIVEditor (my
live html/css/js coder at <http://liveditor.com>)

------
bretthardin
Feature Request: SEO stuff

One thing I miss about wordpress was the SEO plugins to look at my article,
heading, meta, etc. This is the only thing I actually miss from wordpress.
However, I miss it so much, I am thinking of going back. Please save me this
frustration.

~~~
_mql
SEO is totally up to the website developer. The version Google sees is a
generated static version of your Jekyll-site specification (layouts, posts,
configuration etc.).

So SEO is not in the scope of the project.

------
SudarshanP
How are you guys making the Explanation videos like the one on the prose
website or the the substance.io website? Is it some open source tool where you
can provide the strings or just low level flash tweens or some thing?

------
samrat
Does Github's support for Jekyll mean that Github automatically "publishes" a
blog post? I'm using something similar(Pelican), and I know I can't publish a
post using Prose only, is that different for Jekyll sites?

------
sprice
I've been wanting a tool like this for some time. I've considered migrating
simple websites running on a CMS into Jekyll but the lack of content editing
for "humans" has always been the blocker.

------
phleet
This is really cool. And a little bit depressing that the typography in the
preview is better than the typography on my actual site. I should really fix
that.

~~~
_mql
Hehe. ;) No worries, feel free to pick some styles, if helpful.

------
csmeder
Why is it asking for permission to my private repositories? Is it possible to
try this with only giving access to my public repos?

~~~
bretthardin
Github doesn't give the option for "read-only" on private repos. This is
something I have struggled with at my startup.

------
sakai
Since nobody has said it yet... the Development Seed team is awesome. First
MapBox, now this. Thank you, thank you, thank you.

------
cwilson
This looks amazing, but for some reason my private organization owned repo
isn't showing up. Anyone else have this problem?

~~~
why-el
I am a member of a public organization and I don't know how to access one of
its repos with this.

~~~
cedrichurst
It uses backbone routers, so try something like:

<http://prose.io/#MyOrganization/my-repo>

Worked for me.

~~~
why-el
Thanks. I ended up creating an issue for this and they mentioned a url like
yours, except that I needed to append a master at the end, like @BHSPitMonkey
suggested bellow.

------
yatsyk
It doesn't work with files from HNResources.com for some reason. Are textile
files supported?

~~~
_mql
There's only support for Markdown right now, but you should be able to edit
any textfile in a repository. There might be some remaining flaws though, so
please submit issues and help us fix them.

------
ashot
doesn't work with organization accounts

~~~
_mql
Planned feature: <https://github.com/prose/prose/issues/120> For now, please
enter the URL manually to access repos that live within organisations.

<http://prose.io#:org/:repo/:branch>

In future we'll also allow browsing user and organisation profiles by
accessing:

<http://prose.io#:user> <http://prose.io#:org>

Need to find out if there's a way to fetch the default branch, so you can just

<http://prose.io#:org/:repo>

------
daulex
This is outstanding.

The ui is beautiful.

So what about code highlighting?

~~~
_mql
<https://github.com/prose/prose/issues/140>

------
Killswitch
Love love love this. Awesome work!

------
kalimatas
Just awesome!

------
wseymour
Fantastic work. I've been toying with a CMS backed by a Git repository on-and-
off for a while, and this sets a great precedent.

Very impressed by the way you've pushed all of the interesting bits to the
client side.

