Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
92 lines (50 sloc) 5.94 KB

next-book / Lawrence Lessig: Free Culture

This edition of Free Culture runs on next-book — a piece of software exploring the shape of a book in a digital environment (along with all those hows, whys and whats). Instead of replicating the paper experience, we try to move forward beyond paper, embracing the networked digital environment.

See the book at

How does this work? 🤔

Next-book consists of two main components:

  • nb-mapper is a publishing tool
  • nb-base is a browser library that provides reading affordances

Is this the perfect e-book? 😅

Nope! Next-book tries to bring books into the open web, where progress is possible. At first, we need to make the acceptable book and then provide the one thing that's better than other e-book formats. Let's talk about what makes a book better.

Some notes on the current state of this book:

  • Some affordances are boosted for exploratory purposes (such as on-hover highlighting of ideas that might be used in future for some interactions).
  • Alphabetical index is missing in this edition at this time, soon to be reintroduced when it will be available in the nb-mapper.
  • Grabbing a book „to go“ and working with it locally is an important topic. We believe in owning books. Are PWAs a part of the right answer? Maybe…
  • Readable browser source („View code…“) is valuable. Thus moving a lot of this functionality to browser JS (or even to browser itself) might be reasonable. However that's too power hungry on reader devices now.

Read more about this in articles about Next Book and what can we learn from how pagination is used in print. (More to come.)

Feel free to discuss anything in the Github issues here or at the nb-mapper's and nb-base's repos.

Can I play with this? 🧸

Yes! Grab this repo and publish another book! Current codebase should be strong enough even for some work.

1. Insert your own content

  • content folder is where the text of the book is, stored in markdown files (you can use HTML in markdown).
  • static/book.json contains metadata and reading order of the chapters.
  • In assets/ you'll find SCSS and JS files.
  • You can edit hugo templates in layouts folder. Don't remove the .content element that envelops the text.
  • Add images, fonts and other files into static folder (contents will be on the same level in the finalized book as the HTML files).

2. Run the publishing program

  1. You'll need three programs installed
  2. Grab this repo and run npm install in the root directory.
  3. Run npm run build and the book will await you in the book directory.

This example works with hugo, a static site generator that compiles basic HTML from text files and HTML templates. If you'd rather start with HTML, run hugo first and explore the html folder — that is the source folder for the nb-mapper. Then use npm run build:fromhtml.

That should do it! The book won't work when opened from the disk, but put it anywhere on the web (or access it via localhost) and everything should work.

Paper into digital? 👀

Republishing a book that originated in print may feel wrong in this exploratory pursuit, but it puts emphasis on continuity. Text as a medium is more than the object that contains it: it's reading experience, communication platform, the publishing process, personal and social knowledge reservoir, learning tool etc. All these aspects are interwoven.

We need to work carefully while keeping our tools as sharp as it gets.

Why Lessig's Free Culture? It's a book about a topic that touches the digital from another but similarly relevant and interconnected perspective. When we stop trying to map new problems on existing models, the world may start changing.

Note: We started in fall 2016 with a research of current solutions and short/long term goals of their maintainers and decided to find another way. We value accessibility and standardization efforts in EPUB community, but at that time there weren't many signs of opening up to the web. There's a lot going on now and we believe this code might be a way to express our ideas. Of course, there's a lot to be said, written and discussed. Please see all this as a contribution to a discussion.

License ✍️

Lawrence Lessig released a PDF version of this book Free Culture under a Creative Commons (BY-NC 1.0) license. José Menéndez produced and released its HTML version under the same license.

Creative Commons License

This HTML version is based on José Menéndez's code and is released by Jan Martinek under the updated version of the same license CC BY-NC 4.0.

Thanks! 💖

You can’t perform that action at this time.