Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
ufonion committed Aug 25, 2020
1 parent c102224 commit 2fbb8c8
Show file tree
Hide file tree
Showing 36 changed files with 5,037 additions and 0 deletions.
Binary file added gitbook/fonts/fontawesome/FontAwesome.otf
Binary file not shown.
Binary file added gitbook/fonts/fontawesome/fontawesome-webfont.eot
Binary file not shown.
685 changes: 685 additions & 0 deletions gitbook/fonts/fontawesome/fontawesome-webfont.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
8 changes: 8 additions & 0 deletions gitbook/gitbook-plugin-codeblock-filename/block.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.code-filename{
background-color: rgba(0,0,0,0.07);
display: inline-block;
padding: 2px 8px;
font-size: small;
line-height: inherit;
margin-bottom: 0px !important;
}
30 changes: 30 additions & 0 deletions gitbook/gitbook-plugin-edit-link/plugin.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
require(["gitbook", "jQuery"], function(gitbook, $) {
gitbook.events.bind('start', function (e, config) {
var conf = config['edit-link'];
var label = conf.label;
var base = conf.base;
var lang = gitbook.state.innerLanguage;
if (lang) {
// label can be a unique string for multi-languages site
if (typeof label === 'object') label = label[lang];

lang = lang + '/';
}

// Add slash at the end if not present
if (base.slice(-1) != "/") {
base = base + "/";
}

gitbook.toolbar.createButton({
icon: 'fa fa-edit',
text: label,
onClick: function() {
var filepath = gitbook.state.filepath;

window.open(base + lang + filepath);
}
});
});

});
240 changes: 240 additions & 0 deletions gitbook/gitbook-plugin-fontsettings/fontsettings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
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
};
});


Loading

0 comments on commit 2fbb8c8

Please sign in to comment.