summaryrefslogtreecommitdiffstats
path: root/lib/models
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-04-23 17:10:16 +0200
committerSamy Pesse <samypesse@gmail.com>2016-04-23 17:10:16 +0200
commite1fa977b5b1b3c03790de6e2c21ee39ba55d9555 (patch)
treea1ad4386100b5779ef930845093c14639a3353b5 /lib/models
parentce95f316b9ce1eac1e615db3540c4d0f30408d63 (diff)
downloadgitbook-e1fa977b5b1b3c03790de6e2c21ee39ba55d9555.zip
gitbook-e1fa977b5b1b3c03790de6e2c21ee39ba55d9555.tar.gz
gitbook-e1fa977b5b1b3c03790de6e2c21ee39ba55d9555.tar.bz2
Add json encoding utils
Diffstat (limited to 'lib/models')
-rw-r--r--lib/models/file.js14
-rw-r--r--lib/models/page.js9
-rw-r--r--lib/models/summaryArticle.js9
3 files changed, 31 insertions, 1 deletions
diff --git a/lib/models/file.js b/lib/models/file.js
index ebfe629..b6b06ee 100644
--- a/lib/models/file.js
+++ b/lib/models/file.js
@@ -20,6 +20,20 @@ File.prototype.getMTime = function() {
};
/**
+ Return type of file ('markdown' or 'asciidoc')
+
+ @return {String}
+*/
+File.prototype.getType = function() {
+ var parser = this.getParser();
+ if (parser) {
+ return parser.name;
+ } else {
+ return undefined;
+ }
+};
+
+/**
Return extension of this file (lowercased)
@return {String}
diff --git a/lib/models/page.js b/lib/models/page.js
index 1ac0d50..0a9cf38 100644
--- a/lib/models/page.js
+++ b/lib/models/page.js
@@ -9,7 +9,10 @@ var Page = Immutable.Record({
attributes: Immutable.Map(),
// Content of the page
- content: String()
+ content: String(),
+
+ // Direction of the text
+ dir: String('ltr')
});
Page.prototype.getFile = function() {
@@ -24,6 +27,10 @@ Page.prototype.getContent = function() {
return this.get('content');
};
+Page.prototype.getDir = function() {
+ return this.get('dir');
+};
+
/**
Create a page for a file
diff --git a/lib/models/summaryArticle.js b/lib/models/summaryArticle.js
index 4a448c8..e3d85ef 100644
--- a/lib/models/summaryArticle.js
+++ b/lib/models/summaryArticle.js
@@ -30,6 +30,15 @@ SummaryArticle.prototype.getArticles = function() {
};
/**
+ Return how deep the article is
+
+ @return {Number}
+*/
+SummaryArticle.prototype.getDepth = function() {
+ return this.getLevel().split('.').length;
+};
+
+/**
Return an article by its level
@param {String} level