Skip to content
Newer
Older
100644 140 lines (88 sloc) 4.53 KB
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
1 # Monocle
2
967d7df @joseph Tagline consistency. I guess it's important.
joseph authored
3 A silky, tactile browser-based ebook reader.
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
4
5 Invented by [Inventive Labs](http://inventivelabs.com.au). Released under the
6 MIT license.
7
674a7ac @joseph Added URL to README.
joseph authored
8 More information (including demos): http://monocle.inventivelabs.com.au
9
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
10 Contributions welcome - fork the repository on
11 [GitHub](http://github.com/joseph/monocle).
12
13
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
14 ## Getting Monocle
c2e37e9 @joseph A new 'Guide' document provides some orientation for newcomers.
joseph authored
15
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
16 You can download a unified, redistributable version of Monocle
edebb69 @joseph README tweaks.
joseph authored
17 [from Github](https://github.com/joseph/Monocle/downloads).
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
18
19 The scripts and stylesheets are separated into:
c2e37e9 @joseph A new 'Guide' document provides some orientation for newcomers.
joseph authored
20
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
21 * `monocore` - the essential Monocle functionality
22 * `monoctrl` - the optional basic controls for page numbers, font-sizing, etc
23
24 It's recommended that you develop against the unminified files, to make
25 debugging easier. In production, use the minified files.
c2e37e9 @joseph A new 'Guide' document provides some orientation for newcomers.
joseph authored
26
27
edebb69 @joseph README tweaks.
joseph authored
28 ## Integrating Monocle
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
29
30 Here's the simplest thing that could possibly work.
31
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
32 <head>
33 <!-- Include the Monocle library and styles -->
34 <script src="scripts/monocore.js"></script>
35 <link rel="stylesheet" type="text/css" href="styles/monocore.css" />
36 <style>
37 #reader { width: 300px; height: 400px; border: 1px solid #000; }
38 </style>
39 </head>
40
41 <body>
42 <!-- The reader element, with all content to paginate inside it -->
43 <div id="reader">
44 <h1>Hello world.</h1>
45 </div>
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
46
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
47 <!-- Instantiate the reader when the containing element has loaded -->
48 <script>Monocle.Reader('reader');</script>
49 </body>
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
50
51
52 In this example, we initialise the reader with the contents of the div
53 itself. In theory there's no limit on the size of the contents of that div.
54
55 A more advanced scenario involves feeding Monocle a "book data object", from
56 which it can lazily load the contents of the book as the user requests it.
57
c2e37e9 @joseph A new 'Guide' document provides some orientation for newcomers.
joseph authored
58
edebb69 @joseph README tweaks.
joseph authored
59 ## Exploring Monocle
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
60
edebb69 @joseph README tweaks.
joseph authored
61 If you want to explore all of Monocle's features, clone this repository and
62 open `test/index.html` in your browser. This will guide you through Monocle's
63 tests, which incidentally demonstrate all the major features. View source or
64 browse the test directory in your text editor for implementation details.
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
65
921b1de @joseph Refactored API/p/k convention. All tests use default panels.
joseph authored
66
edebb69 @joseph README tweaks.
joseph authored
67 ## Connecting Monocle to your book content
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
68
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
69 For a non-trivial Monocle implementation, your task is to connect the
70 Monocle Reader to your book's HTML content and structure. You create
71 something called "the book data object" to do this.
bd9691c @joseph Lots of documentation in the README, now in Markdown format.
joseph authored
72
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
73 The book data object is really pretty simple. You'll find the specification
74 and some examples in the [Monocle Wiki page on the book data object](https://github.com/joseph/Monocle/wiki/Book-data-object).
921b1de @joseph Refactored API/p/k convention. All tests use default panels.
joseph authored
75
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
76 For more advanced uses and customisations of Monocle, you should definitely
77 read the [Monocle Wiki](https://github.com/joseph/Monocle/wiki).
33ee457 @joseph Added "Browser support" and "Future directions" to README.
joseph authored
78
79
80 ## Browser support
81
82 At this time, Monocle aims for full support of all browsers with a
8fbdc4f @joseph Acknowledge new Opera support in the README.
joseph authored
83 W3C-compliant CSS column module implementation. That is Gecko, WebKit and
84 Opera at this point. Legacy support is provided for some other browsers,
85 including recent versions of Internet Explorer. Please encourage your
33ee457 @joseph Added "Browser support" and "Future directions" to README.
joseph authored
86 browser-maker to work on implementing these standards in particular:
87
88 * CSS Multi-Column Layout
89 * W3C DOM Level 2 Event Model
90 * CSS 2D Transforms (better: 3D Transforms, even better: hardware acceleration)
91
92 Monocle has a particular focus on mobile devices. Monocle either supports or
93 is trying to support:
94
95 * iOS 3.1+
96 * Android 2.0+
97 * Blackberry 6
98 * Kindle 3
99
100 All these mobile platforms implement columned iframes differently, so support
101 may be patchy in places, but we're working on it. Patches that improve or
102 broaden Monocle's browser support are very welcome (but please provide tests).
103
104 Inventive Labs would like to thank Ebooq for providing a device to assist with
105 Android testing.
106
107
108 ## Future directions
109
110 Monocle has a small set of big goals:
111
112 * Faster, more responsive page flipping
113 * Wider browser support (and better tests, automated as far as possible)
114 * Tracking spec developments in EPUB and Zhook, supporting where appropriate
115
116 We'd also like to provide more implementation showcases in the tests, and
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
117 offer more developer documentation in the wiki.
33ee457 @joseph Added "Browser support" and "Future directions" to README.
joseph authored
118
119 If you can help out with any of these things, fork away (or contact 'joseph'
120 on GitHub).
7da4596 @joseph Updating documentation to new version number (1.0.1).
joseph authored
121
122
edebb69 @joseph README tweaks.
joseph authored
123 ## History
7da4596 @joseph Updating documentation to new version number (1.0.1).
joseph authored
124
fea78fb @joseph Version-bump to 2.3.1, mostly for Firefox columns fix.
joseph authored
125 2.3.1 - Fix for serious Firefox 12 bug in paginating content.
126
650f2eb @joseph Bump version to 2.3.0, which brings in new transitions code.
joseph authored
127 2.3.0 - Smoother transitions and animations in more browsers.
128
129 2.2.1 - Slider fixes for better iOS performance.
130
131 2.2.0 - Speed, compatibility improvements (esp iOS5, Android, Kindle3).
0ecfbe9 @joseph Version 2.1.1 - a couple of iOS fixes.
joseph authored
132
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
133 2.1.0 - Source file reorganisation, Sprockets 2, distributables, wiki.
134
9ec1b3f @joseph Updating documentation after rolling componentry branch into master.
joseph authored
135 2.0.0 - Complete rewrite to sandbox content in iframes (the Componentry branch).
136
7da4596 @joseph Updating documentation to new version number (1.0.1).
joseph authored
137 1.0.1 - Scrolling flipper, more tests, work on sandboxing in iframe (Framer).
138
ca5a17c @joseph Reorganisation for Sprockets 2, packaging and release system.
joseph authored
139 1.0.0 - Initial release.
Something went wrong with that request. Please try again.