Skip to content

booktree/alternatives

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

layout title
default
Booktree Alternatives

You can drag columns around on the header to reposition them.

GitHub GitLab Penflip O'Reilly Atlas GitBook ShareLaTeX WriteLaTeX Authorea Beegit Draft Inkling Habitat Leanpub Connexions Wiki Books Google Docs Boundless
Open source X (23) X X X
Technology stack (13) Git, Rails, Redcarpet, Gollum Git, Rails, Redcarpet, Gollum GitLab, Prose GitLab, HTMLBook, CKEditor, Docker Node.js, Marked fork, Calibre Node.js, Ace CodeMirror Git, Rails NodeGit, Express, (15) ? ? ? Python PHP ? ?
Looks good (30) X l X X X X X l ? ? ? ? ? ? ? ?
Full feature public (4) X X (11) X 30 day trial X ? X X X ? ? ? ? X ?
Supports all browsers (1) X X X X X X ? X X X ? ? ? X Only Chrome for editing.
Public access (25) X X X X X ? X X (3) ? ? ? ? X ?
Meaningful URLs (2) X X X X X ? ? (6) ? ? ? ? ?
Project metrics (17) X ? X ? X ? ? ? ? ? ? ? ?
User metrics (18) ? ? ? ? ? ? ? ? ? ?
Output sale ? X ? X ?
Math support ? ? ? ? ? ? ? X ? ? ? ? ? ? limited ?
Anyone can create content (19) X X X X X X X X X X X X X X X Request needed.
Compilation ?
Markdown X X X X X X X X X ? ? ? ?
LaTeX X X X ? ? ? ?
Subdirectories (10) X X ? X X ? X X ? ? ? ? ? X ?
Multi file input (7) (19) X X X X ? X ? ? ? select on by one, no auto build ?
PDF output ? X X X ? X ? ? ? ? ? X ?
Versioning ?
Issue tracker X X X ? ? ? Comments, but no real tracker. ? ? ? ? ? ?
Version diff X X X ? ? ? X only previous ? ? ? ? ? ?
Merge request with diff X X X X ? ? W ? ? ? ? ? inline ?
Rendered HTML diff (26) X X X ? ? ? ? ? ? ? ? ? ? ? ?
Resolve merge conflicts a X ? ? ? ? ? ? ? ? ?
Reset to version X X ? ? ? ? X X X ? ? ? X ?
Commit message X X ? ? X (but well hidden) X ? ? ? ? ?
Branches X X (5) l ? ? ? ? ? ? ?
Web editor (local) ?
No WYSIWYG (14) X ? X X X ? ? X ? ? ? ? ? ?
Side by side editor preview a X X X W ? ? ? ? ? ? ? ?
HTML preview as you type X ? ? X ? ? ? ? ? ?
Forward search X ? ? ? X Limited accuracy ? ? ? ? ? ? ?
Backwards search X ? ? ? X Limited accuracy ? ? ? ? ? ? ?
Git diff in editor ? X (12) X (8) ? ? ? ? ? ? ? ?
Multi file commit (21) ? ? ? X (16) ? ? ? ? ? ? ?
Drag and drop chapter order ? X X ? ? ? ? ? ? ? ? ? ? ?
Spell checking ? ? ? ? X ? ? ? ? ? ? ? ? ? ?
Add words to dictionary ? ? ? browser ? X ? ? ? ? ? ? ? ? ?
Syntax aware (22) ? ? ? ? X ? ? ? ? ? ? ? ? ?
Local ?
No local install required (24) X X X X X X X X X X X X X X ?
Git access X X X X X ? ? W (9) ? ? ? ? ?
Local compilation PDF compiler closed source X X ? ? In theory yes, in practice versions not specified. ? ? ? ? ? ?
Meta ?
Developers 230 employees 5 1 >= 3 (27) ? 2 ? 3 2 1 9 (multiple projects) ? ? ? ? 3
Investments 100M ? ? ? ? ? ? 650k ? ? ? ? ? ? 8M
Users signed up 3M ~ 1k on SaaS (9) ? ? ? >= 250 (public email) >=80k ? ? ? ? ? ? ? ? 1M
Project's issue tracker (29) ? GitLab Issues Penflip Issues Atlas Issues ? ? ? Authorea Issues ? ? ? ? ? ? ? ?
{:#table .data-table}

Legend:

  • empty box: no, 0
  • X: yes
  • l: limited: not really no, but not really yes either
  • ?: not yet determined
  • w: WONTFIX
  • a: accepted by developers
  • (number): see note below

Notes:

  • (1) All major browsers: Firefox, Chrome, IE, Safari, Opera.

  • (2) Like on GitHub: user/project, no random IDs.

  • (3) Author must explicitly share a random URL. Inconvenient.

  • (4) Similar business model to GitHub: if the project is public you get all features for free. Only applies to services, not open source libraries

  • (5) Only keeps one Git repo per project: forks are dealt into branches named with the username of their authors.

  • (6) Possibly unpredictable URLs of form: name_123, where the numeric ID is only used if its not the first time a name is used.

  • (7) Generate a single output file form multiple markdown LaTeX files.

  • (8) When pressing the save button.

  • (9) Possible to export the Git repository, but no clone or push.

  • (10) Possible to put source files in subdirectories from web interface.

  • (11) Paid features only affect local installations.

  • (12) Except for... Markdown, but it does not matter as that should be done from the viewer! http://feedback.gitlab.com/forums/176466-general/suggestions/5855625-show-both-diff-and-preview-when-editing-markdown-f

  • (13) Inferred if closed source.

  • (14) Negation because it is an anti-feature =)

  • (15) Can someone infer the compiler? Is it Marked, Showdown or markdown-js? Deducing from collaborator's GitHub stars, Node.js based through NodeGit. and builtwith.com says Express which is coherent with the Node.js hypothesis.

  • (16) Looks possible, but I didn't manage it, maybe due to minor bug?

  • (17) Like GitHub Stars.

  • (18) Like Stack Overflow rep.

  • (19) Kind of if you count GH pages.

  • (20) Some websites only allow certain people to contribute content, e.g., teachers of known universities, in an attempt to have only good material. This is a huge entry bottleneck, and the curation it provides can be achieved by upvote metrics instead.

  • (21) A commit that changes multiple files. Having merge --squash is almost a full workaround for this for merge request based work flows. http://feedback.gitlab.com/forums/176466-general/suggestions/5662794-provide-squash-option-when-merging-merge-requests

  • (22) Spell checking that only checks in syntax blocks that need to be checked, e.g., not inside Markdown code blocks, nor LaTeX macro names. Currently not trivial. Request on ACE: ajaxorg/ace#2107.

  • (23) TODO: only compiler and editor, but not web interface?

  • (24) You don't need to install anything to get it working: it is all done on the browser.

  • (25) Signed out users can view outputs and source code.

  • (26) Like GitHub and Atlas

  • (27) Hard to estimate since they are a big organization with multiple projects.

    But the following people are strongly involved in coding:

    And the following are also admins on the forum:

  • (28) Issues only appear on the tracker after being reviewed.

  • (29) Many projects strategically treat issues privately to give less information to competition. Security disclosures are probably a secondary though since users capable of finding them know better than to publish those openly.

  • (30) Slightly subjective... but very important.

Beegit

Screenshots at: https://github.com/booktree/files/tree/abffff03d19a03b6ab0101c2063415ffbf61598d/beegit

Has started hacking marked / preprocessing things with the addition of custom attributes as # header {#id .class}.

GitBook

Uses GitHub for web interface.

Provides two completely separate utilities:

  • local editor node-webkit editor able to upload input
  • and sales / viewer front-end that also compiles the input

Can communicate with GitHub to:

  • link to GitHub repo
  • show star / watcher count
  • build book on push hook

Has forked Marked into https://github.com/GitbookIO/kramed, because marked is too slow to accept MRs, and they want to be closer to Kramdown syntax.

Google Docs

Uses hidden internal format and converters: http://webapps.stackexchange.com/questions/45562/what-file-format-or-coding-standard-is-a-google-document-in AKA vendor lock-in.

Exports to Word, PDF and HTML.

Imports from Word, but you need a Chrome plugin to edit it.

Limited merge request functionality through editing: you make suggestions and they appear rendered with a comment. Once accepted or decline, the comment is gone.

O'Reilly Atlas

Their editor is a highly specialized and advanced WYSIWYG front-end for HTMLBook! It implements WYSIWYG nesting, IDs and references.

Screenshots at: https://github.com/booktree/files/tree/abffff03d19a03b6ab0101c2063415ffbf61598d/atlas

Pull requests

Each user works on a single branch at a time: http://forum.atlas.oreilly.com/t/have-multiple-branches-per-user-before-submitting-pull-request/75

Once you submit a pull request with a branch, the branch disappears from the UI, and you can no longer edit it.

Multiple pull requests can be made like this: create branch, submit, create branch, etc.

But you can't create branch, create branch.

Pull request revision is hardcore: you can accept each of the diff hunks individually, edit the entire file on a single UI, and jump to the next hunk with a button.

There are no merge conflicts. Add add is always proposed and the user has to deal with it by jumping through hunks.

By examining the branches on a git clone of the repository, we see that the following branch scheme is used:

  • master: the master branch

  • <username>-at<random-id>: each time user creates a branch

  • <username>-atmr<random-id>: after submitting the merge requests

So all users use branches in the same repository. This means that any user with write access can overwrite the branches of other users if he wants.

Authorea

Impressive feature: LaTeX HTML preview on editor. But I wonder how robust that can be.

Offers a .tex and a .git download, but no automatic way to convert the .git inputs into the generated .tex which depends on how you exported it. So strictly speaking no local compile support, although it is easy to figure out the missing steps.

Reviewers

We should watch the author of this blog and his comments on Markdown editors: http://www.bitfalls.com/2014/05/the-state-of-markdown-editors-may-2014.html

Releases

No releases published

Packages

No packages published