summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-plugin-fontsettings
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-plugin-fontsettings')
-rw-r--r--packages/gitbook-plugin-fontsettings/.gitignore31
-rw-r--r--packages/gitbook-plugin-fontsettings/.npmignore2
-rw-r--r--packages/gitbook-plugin-fontsettings/index.js10
-rw-r--r--packages/gitbook-plugin-fontsettings/package.json28
-rw-r--r--packages/gitbook-plugin-fontsettings/src/actions/font.js25
-rw-r--r--packages/gitbook-plugin-fontsettings/src/components/FontButton.js16
-rw-r--r--packages/gitbook-plugin-fontsettings/src/index.js13
-rw-r--r--packages/gitbook-plugin-fontsettings/src/reducers/font.js29
-rw-r--r--packages/gitbook-plugin-fontsettings/src/reducers/index.js3
9 files changed, 157 insertions, 0 deletions
diff --git a/packages/gitbook-plugin-fontsettings/.gitignore b/packages/gitbook-plugin-fontsettings/.gitignore
new file mode 100644
index 0000000..ef47881
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/.gitignore
@@ -0,0 +1,31 @@
+# Logs
+logs
+*.log
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directory
+# Deployed apps should consider commenting this line out:
+# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
+node_modules
+
+# vim swapfile
+*.swp
+
+# Plugin assets
+_assets/plugin.js
diff --git a/packages/gitbook-plugin-fontsettings/.npmignore b/packages/gitbook-plugin-fontsettings/.npmignore
new file mode 100644
index 0000000..a0e53cf
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/.npmignore
@@ -0,0 +1,2 @@
+# Publish assets on NPM
+!_assets/plugin.js
diff --git a/packages/gitbook-plugin-fontsettings/index.js b/packages/gitbook-plugin-fontsettings/index.js
new file mode 100644
index 0000000..e542ae8
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/index.js
@@ -0,0 +1,10 @@
+
+module.exports = {
+ blocks: {
+
+ },
+
+ hooks: {
+
+ }
+};
diff --git a/packages/gitbook-plugin-fontsettings/package.json b/packages/gitbook-plugin-fontsettings/package.json
new file mode 100644
index 0000000..c11e23d
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "gitbook-plugin-fontsettings",
+ "description": "Let readers controls the font size",
+ "main": "index.js",
+ "browser": "./_assets/plugin.js",
+ "version": "4.0.0",
+ "dependencies": {
+ "gitbook-core": "4.0.0"
+ },
+ "devDependencies": {
+ "gitbook-plugin": "4.0.0"
+ },
+ "engines": {
+ "gitbook": ">=3.0.0"
+ },
+ "scripts": {
+ "build-js": "gitbook-plugin build ./src/index.js ./_assets/plugin.js",
+ "prepublish": "npm run build-js"
+ },
+ "homepage": "https://github.com/GitbookIO/gitbook",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/GitbookIO/gitbook.git"
+ },
+ "bugs": {
+ "url": "https://github.com/GitbookIO/gitbook/issues"
+ }
+} \ No newline at end of file
diff --git a/packages/gitbook-plugin-fontsettings/src/actions/font.js b/packages/gitbook-plugin-fontsettings/src/actions/font.js
new file mode 100644
index 0000000..9034701
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/src/actions/font.js
@@ -0,0 +1,25 @@
+
+const TYPES = {
+ INCREASE: 'font/increase',
+ DECREASE: 'font/decrease',
+ RESET: 'font/reset'
+};
+
+function increase() {
+ return { type: TYPES.INCREASE };
+}
+
+function decrease() {
+ return { type: TYPES.DECREASE };
+}
+
+function reset() {
+ return { type: TYPES.RESET };
+}
+
+module.exports = {
+ TYPES,
+ increase,
+ decrease,
+ reset
+};
diff --git a/packages/gitbook-plugin-fontsettings/src/components/FontButton.js b/packages/gitbook-plugin-fontsettings/src/components/FontButton.js
new file mode 100644
index 0000000..f1ea78b
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/src/components/FontButton.js
@@ -0,0 +1,16 @@
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+const FontButton = React.createClass({
+ render() {
+ return (
+ <GitBook.Button>
+ <GitBook.Icon id="font"/>
+ </GitBook.Button>
+ );
+ }
+});
+
+module.exports = GitBook.connect(FontButton, (state) => {
+ return { font: state.font };
+});
diff --git a/packages/gitbook-plugin-fontsettings/src/index.js b/packages/gitbook-plugin-fontsettings/src/index.js
new file mode 100644
index 0000000..6ef7ba9
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/src/index.js
@@ -0,0 +1,13 @@
+const GitBook = require('gitbook-core');
+const FontButton = require('./components/FontButton');
+const font = require('./actions/font');
+const reduce = require('./reducers');
+
+module.exports = GitBook.createPlugin({
+ activate: (dispatch, getState, { Components }) => {
+ // Dispatch initialization actions
+ dispatch(Components.registerComponent(FontButton, { role: 'toolbar:buttons:left' }));
+ },
+ actions: { font },
+ reduce
+});
diff --git a/packages/gitbook-plugin-fontsettings/src/reducers/font.js b/packages/gitbook-plugin-fontsettings/src/reducers/font.js
new file mode 100644
index 0000000..fff582d
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/src/reducers/font.js
@@ -0,0 +1,29 @@
+const GitBook = require('gitbook-core');
+const { Record } = GitBook.Immutable;
+
+const { TYPES } = require('../actions/font');
+
+const FontState = Record({
+ fontSize: 1
+});
+
+module.exports = (state = FontState(), action) => {
+ switch (action.type) {
+
+ case TYPES.RESET:
+ return FontState();
+
+ case TYPES.INCREASE:
+ return state.merge({
+ fontSize: state.fontSize + 1
+ });
+
+ case TYPES.DECREASE:
+ return state.merge({
+ fontSize: state.fontSize + 1
+ });
+
+ default:
+ return state;
+ }
+};
diff --git a/packages/gitbook-plugin-fontsettings/src/reducers/index.js b/packages/gitbook-plugin-fontsettings/src/reducers/index.js
new file mode 100644
index 0000000..64d60c9
--- /dev/null
+++ b/packages/gitbook-plugin-fontsettings/src/reducers/index.js
@@ -0,0 +1,3 @@
+const GitBook = require('gitbook-core');
+
+module.exports = GitBook.createReducer('font', require('./font'));