FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
docs/script/graphql/utils/prerender-objects.js at main · helpermethod/docs · GitHub
helpermethod
/
docs
Public
forked from
github/docs
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
docs
/
script
/
graphql
/
utils
/
prerender-objects.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
40 lines (34 loc) · 1.4 KB
Breadcrumbs
docs
/
script
/
graphql
/
utils
/
prerender-objects.js
Copy path
File metadata and controls
40 lines (34 loc) · 1.4 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const
fs
=
require
(
'fs'
)
const
path
=
require
(
'path'
)
const
cheerio
=
require
(
'cheerio'
)
const
{
liquid
}
=
require
(
'../../../lib/render-content'
)
const
getMiniTocItems
=
require
(
'../../../lib/get-mini-toc-items'
)
const
rewriteLocalLinks
=
require
(
'../../../lib/rewrite-local-links'
)
const
includes
=
path
.
join
(
process
.
cwd
(
)
,
'includes'
)
const
objectIncludeFile
=
fs
.
readFileSync
(
path
.
join
(
includes
,
'graphql-object.html'
)
,
'utf8'
)
// TODO need to localize
const
currentLanguage
=
'en'
module
.
exports
=
async
function
prerenderObjects
(
schemaJsonPerVersion
,
version
)
{
const
site
=
await
require
(
'../../../lib/site-data'
)
(
)
// create a bare minimum context for rendering the graphql-object.html layout
const
context
=
{
currentLanguage
,
site
:
site
[
currentLanguage
]
.
site
,
graphql
:
{
schemaForCurrentVersion
:
schemaJsonPerVersion
}
}
const
objectsArray
=
[
]
// render the graphql-object.html layout for every object
for
(
const
object
of
schemaJsonPerVersion
.
objects
)
{
context
.
item
=
object
const
objectHtml
=
await
liquid
.
parseAndRender
(
objectIncludeFile
,
context
)
const
$
=
cheerio
.
load
(
objectHtml
,
{
xmlMode
:
true
}
)
rewriteLocalLinks
(
$
,
version
,
currentLanguage
)
const
htmlWithVersionedLinks
=
$
.
html
(
)
objectsArray
.
push
(
htmlWithVersionedLinks
)
}
const
objectsHtml
=
objectsArray
.
join
(
'\n'
)
return
{
html
:
objectsHtml
,
miniToc
:
getMiniTocItems
(
objectsHtml
)
}
}
Back
|
FazBrowse Home
|
New Git URL