Giter Site home page Giter Site logo

Comments (4)

joseph avatar joseph commented on June 22, 2024

At the top of the README, code is shown — 1 script inclusion, 1 line of JavaScript and 1 div — that gives you a working reader. What is missing?

from monocle.

ptsefton avatar ptsefton commented on June 22, 2024

Thanks for the prompt response.

monocle-min.js is not included in the stuff I cloned as far as I can see. I am assuming I would have to build it. I gather that the minified file referred to in the README is monocle-min. It would be useful to have an example of how to use the code without having to go through that step.

If I did have monocle-min.js I want something that works with this stuff I cooked [1] up that works with your Dubliners example, but that has oldbook and stuff that is missing from the latest code .

The way I see it I would like to set up my data in a bookdata variable and invoke the reader like this:

<script type="text/javascript"> var myBookData = { ... }; Monocle.addListener(window, 'load', function () {Monocle.Reader('rdr', myBookData)}); </script>

Without having to write something to load the data myself.

[1]
var bookData = {
getComponents: function () {
return ["OEBPS/index.html", "OEBPS/index.html", "OEBPS/ar01s02.html", "OEBPS/ar01s03.html"];
},
getContents: function () {
return [{"src": "OEBPS/index.html", "children": [{"src": "OEBPS/index.html#anchor-1", "children": [], "title": "1. Part 1"}, {"src": "OEBPS/ar01s02.html", "children": [], "title": "2. Part 2"}, {"src": "OEBPS/ar01s03.html", "children": [], "title": "3. Part 3"}], "title": "Simple test file for Paquete"}];
},
getComponent: function (componentId) {
return this.getViaAjax(componentId);
},
getMetaData: function(key) {
return {
title: "Simple test file for Paquete",
creator: "Unknown"
}[key];
},

from monocle.

joseph avatar joseph commented on June 22, 2024

Every example (other than dogfood) shows how to load the basic Monocle scripts unminified. Unminified Monocle isn't recommended for production purposes — of course you're welcome to minify it your own way if you don't like Rake.

Wouldn't this bookdata variable look almost exactly like the bookdata object you've included above? Other than getComponent (where you've chosen to use Ajax), isn't every other line just data? Are you just suggesting that:

 getComponents: function() { return ["OEBPS/index.html", "OEBPS/index.html", "OEBPS/ar01s02.html", "OEBPS/ar01s03.html"]; },
 getContents: function () { return [{"src": "OEBPS/index.html", "children": [{"src": "OEBPS/index.html#anchor-1", "children": [], "title": "1. Part 1"}, {"src": "OEBPS/ar01s02.html", "children": [], "title": "2. Part 2"}, {"src": "OEBPS/ar01s03.html", "children": [], "title": "3. Part 3"}], "title": "Simple test file for Paquete"}]; },
 getMetaData: function(key) { return { title: "Simple test file for Paquete", creator: "Unknown"}[key]; }

should become

 components:  ["OEBPS/index.html", "OEBPS/index.html", "OEBPS/ar01s02.html", "OEBPS/ar01s03.html"],
 contents:  [{"src": "OEBPS/index.html", "children": [{"src": "OEBPS/index.html#anchor-1", "children": [], "title": "1. Part 1"}, {"src": "OEBPS/ar01s02.html", "children": [], "title": "2. Part 2"}, {"src": "OEBPS/ar01s03.html", "children": [], "title": "3. Part 3"}], "title": "Simple test file for Paquete"}],
 metadata: { title: "Simple test file for Paquete", creator: "Unknown" }

etc?

That's fine, but it's not a very significant saving in complexity, given how much it reduces flexibility. It might save you writing getComponent, but every deployment of Monocle I've seen has had a different approach to getComponent, so I'm not sure what a cookie-cutter version would look like.

I'm happy to contemplate a simplified layer over bookData, but it's not clear to me what simplification you're suggesting.

from monocle.

joseph avatar joseph commented on June 22, 2024

I'm closing this as 'answered'. Please re-open if there are remaining queries related to this, or open new tickets for specific documentation gaps. Thanks!

from monocle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.