Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd32ae1f

Browse files
author
shenjun
committed
first update.
0 parents  commitd32ae1f

File tree

241 files changed

+1555343
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

241 files changed

+1555343
-0
lines changed

‎cover.jpg

881 KB
Loading
122 KB
Binary file not shown.
Binary file not shown.

‎gitbook/fonts/fontawesome/fontawesome-webfont.svg

Lines changed: 685 additions & 0 deletions
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
require(['gitbook','jquery'],function(gitbook,$){
2+
// Configuration
3+
varMAX_SIZE=4,
4+
MIN_SIZE=0,
5+
BUTTON_ID;
6+
7+
// Current fontsettings state
8+
varfontState;
9+
10+
// Default themes
11+
varTHEMES=[
12+
{
13+
config:'white',
14+
text:'White',
15+
id:0
16+
},
17+
{
18+
config:'sepia',
19+
text:'Sepia',
20+
id:1
21+
},
22+
{
23+
config:'night',
24+
text:'Night',
25+
id:2
26+
}
27+
];
28+
29+
// Default font families
30+
varFAMILIES=[
31+
{
32+
config:'serif',
33+
text:'Serif',
34+
id:0
35+
},
36+
{
37+
config:'sans',
38+
text:'Sans',
39+
id:1
40+
}
41+
];
42+
43+
// Return configured themes
44+
functiongetThemes(){
45+
returnTHEMES;
46+
}
47+
48+
// Modify configured themes
49+
functionsetThemes(themes){
50+
THEMES=themes;
51+
updateButtons();
52+
}
53+
54+
// Return configured font families
55+
functiongetFamilies(){
56+
returnFAMILIES;
57+
}
58+
59+
// Modify configured font families
60+
functionsetFamilies(families){
61+
FAMILIES=families;
62+
updateButtons();
63+
}
64+
65+
// Save current font settings
66+
functionsaveFontSettings(){
67+
gitbook.storage.set('fontState',fontState);
68+
update();
69+
}
70+
71+
// Increase font size
72+
functionenlargeFontSize(e){
73+
e.preventDefault();
74+
if(fontState.size>=MAX_SIZE)return;
75+
76+
fontState.size++;
77+
saveFontSettings();
78+
}
79+
80+
// Decrease font size
81+
functionreduceFontSize(e){
82+
e.preventDefault();
83+
if(fontState.size<=MIN_SIZE)return;
84+
85+
fontState.size--;
86+
saveFontSettings();
87+
}
88+
89+
// Change font family
90+
functionchangeFontFamily(configName,e){
91+
if(e&&einstanceofEvent){
92+
e.preventDefault();
93+
}
94+
95+
varfamilyId=getFontFamilyId(configName);
96+
fontState.family=familyId;
97+
saveFontSettings();
98+
}
99+
100+
// Change type of color theme
101+
functionchangeColorTheme(configName,e){
102+
if(e&&einstanceofEvent){
103+
e.preventDefault();
104+
}
105+
106+
var$book=gitbook.state.$book;
107+
108+
// Remove currently applied color theme
109+
if(fontState.theme!==0)
110+
$book.removeClass('color-theme-'+fontState.theme);
111+
112+
// Set new color theme
113+
varthemeId=getThemeId(configName);
114+
fontState.theme=themeId;
115+
if(fontState.theme!==0)
116+
$book.addClass('color-theme-'+fontState.theme);
117+
118+
saveFontSettings();
119+
}
120+
121+
// Return the correct id for a font-family config key
122+
// Default to first font-family
123+
functiongetFontFamilyId(configName){
124+
// Search for plugin configured font family
125+
varconfigFamily=$.grep(FAMILIES,function(family){
126+
returnfamily.config==configName;
127+
})[0];
128+
// Fallback to default font family
129+
return(!!configFamily)?configFamily.id :0;
130+
}
131+
132+
// Return the correct id for a theme config key
133+
// Default to first theme
134+
functiongetThemeId(configName){
135+
// Search for plugin configured theme
136+
varconfigTheme=$.grep(THEMES,function(theme){
137+
returntheme.config==configName;
138+
})[0];
139+
// Fallback to default theme
140+
return(!!configTheme)?configTheme.id :0;
141+
}
142+
143+
functionupdate(){
144+
var$book=gitbook.state.$book;
145+
146+
$('.font-settings .font-family-list li').removeClass('active');
147+
$('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active');
148+
149+
$book[0].className=$book[0].className.replace(/\bfont-\S+/g,'');
150+
$book.addClass('font-size-'+fontState.size);
151+
$book.addClass('font-family-'+fontState.family);
152+
153+
if(fontState.theme!==0){
154+
$book[0].className=$book[0].className.replace(/\bcolor-theme-\S+/g,'');
155+
$book.addClass('color-theme-'+fontState.theme);
156+
}
157+
}
158+
159+
functioninit(config){
160+
// Search for plugin configured font family
161+
varconfigFamily=getFontFamilyId(config.family),
162+
configTheme=getThemeId(config.theme);
163+
164+
// Instantiate font state object
165+
fontState=gitbook.storage.get('fontState',{
166+
size:config.size||2,
167+
family:configFamily,
168+
theme:configTheme
169+
});
170+
171+
update();
172+
}
173+
174+
functionupdateButtons(){
175+
// Remove existing fontsettings buttons
176+
if(!!BUTTON_ID){
177+
gitbook.toolbar.removeButton(BUTTON_ID);
178+
}
179+
180+
// Create buttons in toolbar
181+
BUTTON_ID=gitbook.toolbar.createButton({
182+
icon:'fa fa-font',
183+
label:'Font Settings',
184+
className:'font-settings',
185+
dropdown:[
186+
[
187+
{
188+
text:'A',
189+
className:'font-reduce',
190+
onClick:reduceFontSize
191+
},
192+
{
193+
text:'A',
194+
className:'font-enlarge',
195+
onClick:enlargeFontSize
196+
}
197+
],
198+
$.map(FAMILIES,function(family){
199+
family.onClick=function(e){
200+
returnchangeFontFamily(family.config,e);
201+
};
202+
203+
returnfamily;
204+
}),
205+
$.map(THEMES,function(theme){
206+
theme.onClick=function(e){
207+
returnchangeColorTheme(theme.config,e);
208+
};
209+
210+
returntheme;
211+
})
212+
]
213+
});
214+
}
215+
216+
// Init configuration at start
217+
gitbook.events.bind('start',function(e,config){
218+
varopts=config.fontsettings;
219+
220+
// Generate buttons at start
221+
updateButtons();
222+
223+
// Init current settings
224+
init(opts);
225+
});
226+
227+
// Expose API
228+
gitbook.fontsettings={
229+
enlargeFontSize:enlargeFontSize,
230+
reduceFontSize:reduceFontSize,
231+
setTheme:changeColorTheme,
232+
setFamily:changeFontFamily,
233+
getThemes:getThemes,
234+
setThemes:setThemes,
235+
getFamilies:getFamilies,
236+
setFamilies:setFamilies
237+
};
238+
});
239+
240+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp