Skip to content
This repository was archived by the owner on Mar 20, 2024. It is now read-only.

Commit 23191b1

Browse files
committed
Deploy graphql-rust/graphql-rust.github.io to github.com/graphql-rust/graphql-rust.github.io.git:master
0 parents  commit 23191b1

Some content is hidden

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

46 files changed

+15507
-0
lines changed

.nojekyll

Whitespace-only changes.

advanced/multiple_ops_per_request.html

+671
Large diffs are not rendered by default.

advanced/non_struct_objects.html

+669
Large diffs are not rendered by default.

advanced/objects_and_generics.html

+671
Large diffs are not rendered by default.
122 KB
Binary file not shown.
Binary file not shown.

gitbook/fonts/fontawesome/fontawesome-webfont.svg

+685
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
a.plugin-anchor {
3+
color: inherit !important;
4+
display: none;
5+
margin-left: -30px;
6+
padding-left: 40px;
7+
cursor: pointer;
8+
position: absolute;
9+
top: 0;
10+
left: 0;
11+
bottom: 0;
12+
}
13+
14+
a.plugin-anchor i {
15+
margin-left: -30px;
16+
font-size: 15px !important;
17+
}
18+
19+
h1, h2, h3, h4, h5, h6 {
20+
position: relative;
21+
}
22+
23+
h1:hover a.plugin-anchor, h2:hover a.plugin-anchor, h3:hover a.plugin-anchor,
24+
h4:hover a.plugin-anchor, h5:hover a.plugin-anchor, h6:hover a.plugin-anchor {
25+
display: inline-block;
26+
}
27+
28+
.book .book-body .page-wrapper .page-inner section.normal {
29+
overflow: visible;
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.code-filename {
2+
background-color: rgba(0,0,0,0.07);
3+
display: inline-block;
4+
padding: 2px 8px;
5+
font-size: small;
6+
line-height: inherit;
7+
margin-bottom: 0px !important;
8+
}
9+
10+
.markdown-section pre {
11+
position: relative;
12+
}
13+
14+
.playground-link {
15+
display: inline-block;
16+
position: absolute;
17+
top: 5px;
18+
right: 5px;
19+
}
20+
21+
.playground-link:after {
22+
content: 'Run';
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
require(['gitbook', 'jquery'], function(gitbook, $) {
2+
// Configuration
3+
var MAX_SIZE = 4,
4+
MIN_SIZE = 0,
5+
BUTTON_ID;
6+
7+
// Current fontsettings state
8+
var fontState;
9+
10+
// Default themes
11+
var THEMES = [
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+
var FAMILIES = [
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+
function getThemes() {
45+
return THEMES;
46+
}
47+
48+
// Modify configured themes
49+
function setThemes(themes) {
50+
THEMES = themes;
51+
updateButtons();
52+
}
53+
54+
// Return configured font families
55+
function getFamilies() {
56+
return FAMILIES;
57+
}
58+
59+
// Modify configured font families
60+
function setFamilies(families) {
61+
FAMILIES = families;
62+
updateButtons();
63+
}
64+
65+
// Save current font settings
66+
function saveFontSettings() {
67+
gitbook.storage.set('fontState', fontState);
68+
update();
69+
}
70+
71+
// Increase font size
72+
function enlargeFontSize(e) {
73+
e.preventDefault();
74+
if (fontState.size >= MAX_SIZE) return;
75+
76+
fontState.size++;
77+
saveFontSettings();
78+
}
79+
80+
// Decrease font size
81+
function reduceFontSize(e) {
82+
e.preventDefault();
83+
if (fontState.size <= MIN_SIZE) return;
84+
85+
fontState.size--;
86+
saveFontSettings();
87+
}
88+
89+
// Change font family
90+
function changeFontFamily(configName, e) {
91+
if (e && e instanceof Event) {
92+
e.preventDefault();
93+
}
94+
95+
var familyId = getFontFamilyId(configName);
96+
fontState.family = familyId;
97+
saveFontSettings();
98+
}
99+
100+
// Change type of color theme
101+
function changeColorTheme(configName, e) {
102+
if (e && e instanceof Event) {
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+
var themeId = 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+
function getFontFamilyId(configName) {
124+
// Search for plugin configured font family
125+
var configFamily = $.grep(FAMILIES, function(family) {
126+
return family.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+
function getThemeId(configName) {
135+
// Search for plugin configured theme
136+
var configTheme = $.grep(THEMES, function(theme) {
137+
return theme.config == configName;
138+
})[0];
139+
// Fallback to default theme
140+
return (!!configTheme)? configTheme.id : 0;
141+
}
142+
143+
function update() {
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+
function init(config) {
160+
// Search for plugin configured font family
161+
var configFamily = 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+
function updateButtons() {
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+
return changeFontFamily(family.config, e);
201+
};
202+
203+
return family;
204+
}),
205+
$.map(THEMES, function(theme) {
206+
theme.onClick = function(e) {
207+
return changeColorTheme(theme.config, e);
208+
};
209+
210+
return theme;
211+
})
212+
]
213+
});
214+
}
215+
216+
// Init configuration at start
217+
gitbook.events.bind('start', function(e, config) {
218+
var opts = 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)