20 ms·
Show HN: GitBook – Build beautiful programming books using GitHub and Markdown
- daviding 13y agoJust as a heads-up, the font 'appNormal' looks like this on Windows / Chrome 33: http://i.imgur.com/mXfy7NR.jpg http://i.imgur.com/mXfy7NR.jpg Looks great on OSX etc, so as this is about beautiful books wanted to say. Hope that helps, and good luck with the idea - looks really interesting.
- sqrt17 13y agoAFAIK, Chrome/Windows does not do font antialiasing/smoothing, which it does do on Linux and OSX.
- mjgoeke 13y agoMore important than "smoothing" - the font baseline is all over the place
- daviding 13y agoYep, it's the baseline. It looks even worse in IE11 http://i.imgur.com/jWcyrz6.jpg http://i.imgur.com/jWcyrz6.jpg Normally comments like mine can be a bit pedantic, but in this case it's the front page of something that 'builds beautiful programming books', so I think relevant.
- thejosh 13y agoIt still looks terrible on Linux for me as well.
- matt_heimer 13y agoSame problem on FF ESR 24.4.0
- tnorthcutt 13y agos/checkout/check\ out "Checkout" is a noun. "Check out" is a verb.
- reiz 13y agoCool! Good Job. I really like it. Many times the documentation for programming projects look like grab. This project is a big help. Many Thanks1
- desduvauchelle 13y agoReally Cool!
- carlsednaoui 13y agoThis is incredible! Here is the repo if anyone wants to star it: https://github.com/GitbookIO/gitbook https://github.com/GitbookIO/gitbook I will definitely use this for the CoderDojoNYC curriculum I'm building.
- munaf 13y agoThis is really cool. Could be used as an interactive documentation platform for libraries and frameworks as well.
- emehrkay 13y agoExport to epub and replace the textbook industry
- AaronO 13y agoThat would be nice I agree ! Care to open an issue/pull request ?
- lifeisstillgood 13y agogithub.com/Connexions - does a lot of epub output from HTNL5. Phil Schatz is very good there and might be worth following up with. cheers
- deleted 13y ago[deleted]
- BHSPitMonkey 13y agoSphinx already does ePub, PDF, and HTML. (Pair with ReadTheDocs.org for automatic builds and hosting from a git repository).
- emehrkay 13y agoI had no idea. Thanks for the info.
- abengoam 13y agoLooks interesting. A little bit of feedback: - I didn't like that the table of contents disappeared on me when I clicked on a page. - Related to this, it would be great for the progress widget to show the actual name of each page/chapter, if not all the time, at least when you hover with the mouse. - In the table on contents: mark in some way the links that are going to take you away from the book and into a github view. - The Next button feels too big in pc. Takes away the attention from the content itself. Thank you for your hard work!
- stingrae 13y agoI completely agree. I didn't like that the table of contents disappeared. The page also made me feel like scrolling but that isn't supported. Awesome work!
- AaronO 13y agoThanks for the feedback. We'll look into fixing this. Keep in mind we built GitBook in our spare time over the past 3 days. Feel free to contribute with Pull Requests ! (the beauty of being open)
- bowerbird 13y ago> in our spare time over the past 3 days. nice work. you went in with a clear head. congratulations. i will watch your further development. -bowerbird
- carlsednaoui 13y ago"Keep in mind we built GitBook in our spare time over the past 3 days." That's impressive!
- fecak 13y agoTypo on the page - says 'exercices' under the Interactive heading lower right.
- yong 13y agoYeah! this is something I've always wanted. Now I can convert any github doc to a codecademy like learning experience !
- AbhishekBiswal 13y agoCan also be used to create documentations. Cool!
- opendais 13y agoThis is an awesome first implementation of a good idea. :) If I was the type to communicate clearly enough in writing to create an open textbook, I'd use it.
- raju 13y agoNot as nice as this but there is Github's git-scribe that uses AsciiDoc for writing - https://github.com/schacon/git-scribe https://github.com/schacon/git-scribe It hasn't seen movement lately though.
- alexchamberlain 13y agoLooks great. It would be cool if the left and right keys changed the pages.
- ievans 13y agoThis, absolutely. I kept pressing space and the right arrow key expecting the page to change.
- jcdavison 13y agoi don't frequently get excited about randomy stuff, but when I do, its about stuff like this. - why does your tweet button not mention you guys on twitter ? i'm like, hey I want to start the 'mention train'... but i don't know who to mention ? you could start by mentioning @railstutor ... just sayin !
- pubby 13y agoLooks nice. Here's a few suggestions: - The green "finished" bar on the last page should behave as a button. Take me back to the ToC. - The section/chapter number should be displayed on every page. - Not a fan of the green progress bar being animated. I think it makes the page loading seem slower than it is.
- roozbeh18 13y agoVery nice :D README.md link to gitbook.io refers to github.io :D
- SamyPesse 13y agoFixed!
- xpop2027 13y agoInteresting to see what @mhartl thinks about this since he recently launched softcover.io
- err4nt 13y agoHave been trying to google what this was ALL week after finding out about it here on HN a while ago! Thanks for the mention so I can properly bookmark it this time <3
- AaronO 13y agoHere's a cool book using GitBook : http://samypesse.github.io/How-to-Make-a-Computer-Operating-System/ http://samypesse.github.io/How-to-Make-a-Computer-Operating-... It's written by GitBook's co-author and teaches the basics of writing an OS in C++.
- aktau 13y agoThe article title is why I came, the book you mention is why I stayed. Very interesting read, I wish more was available!
- JeremyMorgan 13y agoVery cool. I was just planning on writing something like this for my website, but instead I'll devote the time to hacking this up. You may see a few pull requests from me in the coming days! Nice choice on Markdown, and... three days? Nice work.q
- AaronO 13y agoSure! Pull Requests are more than welcome. I'm currently hacking up an epub export feature.
- andrzejkrzywda 13y agoAs someone who has just recently started writing programming books [1] I'm really excited to see more such tools! Some thoughts: 1. Code examples are the biggest problem to me in the tools that I tried. There's many little things about them, that need to look right - line numbers, display on kindle, line breaks 2. At the beginning, I've used Git and vim for writing in Markdown. However, at some point I realised that I wasn't efficient - I switched to Scrivener [2] and dropped the idea of using Git. In my case, it made me much more productive. 3. Writing an ebook is different than writing code. You probably don't need much of the history. 4. Research is for me the biggest part of writing, experimenting with different ideas, collecting code samples. It's good to have a proper tool to support it. In my case, Scrivener [2] was a huge improvement. 5. I use a combination of Scrivener, Leanpub, Dropbox and getdpd [3] for the whole project. Scrivener for research and notes organisation, Leanpub for generating the result files (PDF, mobi, epub), Dropbox for syncing those two. Getdpd for the selling part. [1] http://rails-refactoring.com/ http://rails-refactoring.com/ [2] http://literatureandlatte.com/scrivener.php http://literatureandlatte.com/scrivener.php [3] http://getdpd.com/ http://getdpd.com/
- jamesbritt 13y agoI also stated off writing a book using Markdown in Vim and was pretty happy at first. One of my goals was to have a Web site that mirrored the book content (http://osc.justthebestparts.com http://osc.justthebestparts.com). (I learned a lot about writing Markdown-to-epub+Web-site tools as well :)) But my book had numerous illustrations and occasionally lengthy code samples. What worked fine on a Web page did not play out so nice in a naive conversion to mobi/epub/PDF. I ended up waiting until all content was basically done and then using InDesign to set the layout (primarily for PDF but it helped with the epub export as well). The biggest issue was making sure that breaks occurred in a sensible way. (I took a look at Scrivener and it just wasn't right for me. But I encourage people to try it out.) I'm all for more tools that make it easier for people to focus on content over the nuts-and-bolts of production but one really needs to be sure that the tools are producing the results you want, and that's going to vary with the type of content.
- bowerbird 13y ago
- aray 13y agoQuick feedback: When I get to a "next" page, the focus must be on something other than the core content, because spacebar doesn't scroll the page. Clicking anywhere in the main content box makes spacebar traversal work :) Looks neat, might be a good candidate for longer-form literature than jekyll pages.
- SamyPesse 13y agoDone https://github.com/GitbookIO/gitbook/commit/55d9bfbf1833376d4e79f436eaaf64ed6886ebc8 https://github.com/GitbookIO/gitbook/commit/55d9bfbf1833376d...
- gavinpc 13y agoYeah, I wish you could do that without the focus call: http://stackoverflow.com/q/22046683/4525 http://stackoverflow.com/q/22046683/4525 But what then is the point of setting tabindex?
- deleted 13y ago[deleted]
- eslaught 13y agoCool. I built a somewhat-similar tool [1], which doesn't handle any of the interactive examples, but generates physical books (PDFs) and ePub, etc. I'm getting close to publishing my first "real" book with it, which should be cool to see. [1]: https://bitbucket.org/elliottslaughter/bookmd https://bitbucket.org/elliottslaughter/bookmd
- andrey-p 13y agoThis looks pretty good. It's very similar to something I built [1] to scratch my own itch for some illustrated short stories I've been self-publishing. I needed some more fine-grained control over page layout so I did go down a completely different route for generating PDFs - I do manual pagination and render the PDF pages using PhantomJS - but generating ePubs is something I've been wanting to do for a while. Hope you don't mind me looking through your code to see how you've handled ePubs. [1]: https://github.com/andrey-p/apocalism-js https://github.com/andrey-p/apocalism-js
- eslaught 13y agoGo for it. That's why it's open source. :-) For BookMD, I use Pandoc [1], which is the most versatile Markdown generator in existence. Pandoc has out-of-the-box support for ePub, so I just use that. The part where more customization is needed is if you want page breaks. For PDF output, Pandoc lets you use Latex directives in your Markdown (\newpage, etc.), so that should work fine. For ePub, I'm not actually sure what you would do, or whether you would even want the same sort of pagination. [1]: http://johnmacfarlane.net/pandoc/ http://johnmacfarlane.net/pandoc/
- andrey-p 13y agoHmm, that's not quite what I want in that case - I've used Pandoc before but I want pretty strict control over the way things are converted since I use my project to build books where layout is almost as important as the content. That's why I went for manual pagination and page-by-page conversion with PhantomJS rather than using Pandoc.
- justplay 13y agoThis is one of the best thing came out this days.
- elwell 13y agoFont is messed up on Chrome/Windows
- jahewson 13y agoYet another web-based ebook viewer which disables zoom on the iPad and then has no way to change the font size. Sigh.
- SamyPesse 13y agoAdd an issue on Github (https://github.com/GitbookIO/gitbook/issues https://github.com/GitbookIO/gitbook/issues) ;)
- ing33k 13y agoits good.
- hhandoko 13y agoWhat good timing! I had just started on a tutorial project, and was thinking of achieving the same using Jekyll + plugins.
- terminus 13y agoNot to be pedantic or anything, but git != github. AFAICS, none of this is about github. It's about git, the protocol, the versioned object store and markdown, the markup layer.
- AaronO 13y agoA big part of that is true. It's mostly about Git. But it is also about GitHub, GitBook integrates well with GitHub repos, it links up your book to the issue tracker, watchers & stars as well. Plus it's easy to host the HTML output of your books on GitHub thanks to their brilliantly simple gh-pages service. So that's why GitBook is also about GitHub.
- teemo_cute 13y agoThe title says it is intended primarily for programming books. But what if some fiction writers discovered it and got creative? Who knows, the resulting novel might become a work art.
- AaronO 13y agoIt's primarily targeted programmers. Because they are already familiar with Git/GitHub & Markdown and we have some "unique" features for programming tutorials/courses, such as interactive tutorials. But you're totally correct, gitbook could and should be applied to many other kinds of writers. Markdown is a nice input format, and as soon as GitBook supports epub & pdf, other writers could use it for "production" quality books.
- sspiff 13y agoThe front page and demo's seem to be all about interactive on-screen books. Does GitBook also do things like pretty PDF export? (Converting the HTML to PDF does NOT count!)
- Smirnoff 13y agoI like "Intro to JS" book. Is it open source and available for local usage (download)?
- bryanbraun 13y agoThis kind of stuff is really cool. I've been working on something similar, execept it's integrated with Github pages. More info here if anybody's interested: http://www.bryanbraun.com/2014/04/02/publishing-books-to-github-pages-with-bitbooks http://www.bryanbraun.com/2014/04/02/publishing-books-to-git...
- rhgraysonii 13y agoSimilar concepts are found with Penflip (http://www.penflip.com http://www.penflip.com) that go outside programming but offer similar functionality, depending on the breadth of what you may want to write on.
- reillyse 13y agoI'm a big fan of penflip. Create for collaboration and got some neat features for editing your books.