aboutsummaryrefslogtreecommitdiff
path: root/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js
diff options
context:
space:
mode:
authorJakob Stendahl <14180120+JakobST1n@users.noreply.github.com>2021-10-11 20:02:04 +0200
committerGitHub <noreply@github.com>2021-10-11 20:02:04 +0200
commitc67531161e56488166a33232f87566309ba8676e (patch)
tree846e59a020e80bea48557d5a06af5728e44961ff /docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js
parente6880cd8ccf82d993f222cb14b4860581654acb8 (diff)
parentc1b6eec770b885a9829e1f62bad5cc99389ca429 (diff)
downloadLuxcena-Neo-c67531161e56488166a33232f87566309ba8676e.tar.gz
Luxcena-Neo-c67531161e56488166a33232f87566309ba8676e.zip
Merge pull request #24 from JakobST1n/rebuild
v1.0.0
Diffstat (limited to 'docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js')
-rw-r--r--docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js240
1 files changed, 0 insertions, 240 deletions
diff --git a/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js
deleted file mode 100644
index ff7be71..0000000
--- a/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js
+++ /dev/null
@@ -1,240 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
- // Configuration
- var MAX_SIZE = 4,
- MIN_SIZE = 0,
- BUTTON_ID;
-
- // Current fontsettings state
- var fontState;
-
- // Default themes
- var THEMES = [
- {
- config: 'white',
- text: 'White',
- id: 0
- },
- {
- config: 'sepia',
- text: 'Sepia',
- id: 1
- },
- {
- config: 'night',
- text: 'Night',
- id: 2
- }
- ];
-
- // Default font families
- var FAMILIES = [
- {
- config: 'serif',
- text: 'Serif',
- id: 0
- },
- {
- config: 'sans',
- text: 'Sans',
- id: 1
- }
- ];
-
- // Return configured themes
- function getThemes() {
- return THEMES;
- }
-
- // Modify configured themes
- function setThemes(themes) {
- THEMES = themes;
- updateButtons();
- }
-
- // Return configured font families
- function getFamilies() {
- return FAMILIES;
- }
-
- // Modify configured font families
- function setFamilies(families) {
- FAMILIES = families;
- updateButtons();
- }
-
- // Save current font settings
- function saveFontSettings() {
- gitbook.storage.set('fontState', fontState);
- update();
- }
-
- // Increase font size
- function enlargeFontSize(e) {
- e.preventDefault();
- if (fontState.size >= MAX_SIZE) return;
-
- fontState.size++;
- saveFontSettings();
- }
-
- // Decrease font size
- function reduceFontSize(e) {
- e.preventDefault();
- if (fontState.size <= MIN_SIZE) return;
-
- fontState.size--;
- saveFontSettings();
- }
-
- // Change font family
- function changeFontFamily(configName, e) {
- if (e && e instanceof Event) {
- e.preventDefault();
- }
-
- var familyId = getFontFamilyId(configName);
- fontState.family = familyId;
- saveFontSettings();
- }
-
- // Change type of color theme
- function changeColorTheme(configName, e) {
- if (e && e instanceof Event) {
- e.preventDefault();
- }
-
- var $book = gitbook.state.$book;
-
- // Remove currently applied color theme
- if (fontState.theme !== 0)
- $book.removeClass('color-theme-'+fontState.theme);
-
- // Set new color theme
- var themeId = getThemeId(configName);
- fontState.theme = themeId;
- if (fontState.theme !== 0)
- $book.addClass('color-theme-'+fontState.theme);
-
- saveFontSettings();
- }
-
- // Return the correct id for a font-family config key
- // Default to first font-family
- function getFontFamilyId(configName) {
- // Search for plugin configured font family
- var configFamily = $.grep(FAMILIES, function(family) {
- return family.config == configName;
- })[0];
- // Fallback to default font family
- return (!!configFamily)? configFamily.id : 0;
- }
-
- // Return the correct id for a theme config key
- // Default to first theme
- function getThemeId(configName) {
- // Search for plugin configured theme
- var configTheme = $.grep(THEMES, function(theme) {
- return theme.config == configName;
- })[0];
- // Fallback to default theme
- return (!!configTheme)? configTheme.id : 0;
- }
-
- function update() {
- var $book = gitbook.state.$book;
-
- $('.font-settings .font-family-list li').removeClass('active');
- $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active');
-
- $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
- $book.addClass('font-size-'+fontState.size);
- $book.addClass('font-family-'+fontState.family);
-
- if(fontState.theme !== 0) {
- $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
- $book.addClass('color-theme-'+fontState.theme);
- }
- }
-
- function init(config) {
- // Search for plugin configured font family
- var configFamily = getFontFamilyId(config.family),
- configTheme = getThemeId(config.theme);
-
- // Instantiate font state object
- fontState = gitbook.storage.get('fontState', {
- size: config.size || 2,
- family: configFamily,
- theme: configTheme
- });
-
- update();
- }
-
- function updateButtons() {
- // Remove existing fontsettings buttons
- if (!!BUTTON_ID) {
- gitbook.toolbar.removeButton(BUTTON_ID);
- }
-
- // Create buttons in toolbar
- BUTTON_ID = gitbook.toolbar.createButton({
- icon: 'fa fa-font',
- label: 'Font Settings',
- className: 'font-settings',
- dropdown: [
- [
- {
- text: 'A',
- className: 'font-reduce',
- onClick: reduceFontSize
- },
- {
- text: 'A',
- className: 'font-enlarge',
- onClick: enlargeFontSize
- }
- ],
- $.map(FAMILIES, function(family) {
- family.onClick = function(e) {
- return changeFontFamily(family.config, e);
- };
-
- return family;
- }),
- $.map(THEMES, function(theme) {
- theme.onClick = function(e) {
- return changeColorTheme(theme.config, e);
- };
-
- return theme;
- })
- ]
- });
- }
-
- // Init configuration at start
- gitbook.events.bind('start', function(e, config) {
- var opts = config.fontsettings;
-
- // Generate buttons at start
- updateButtons();
-
- // Init current settings
- init(opts);
- });
-
- // Expose API
- gitbook.fontsettings = {
- enlargeFontSize: enlargeFontSize,
- reduceFontSize: reduceFontSize,
- setTheme: changeColorTheme,
- setFamily: changeFontFamily,
- getThemes: getThemes,
- setThemes: setThemes,
- getFamilies: getFamilies,
- setFamilies: setFamilies
- };
-});
-
-