mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
Updated sidebat in synopsis page
- toggleable - overlay content at narrow widths - right of page - background & border
This commit is contained in:
1
doc/.gitignore
vendored
1
doc/.gitignore
vendored
@@ -1,4 +1,5 @@
|
|||||||
synopsis/index.txt
|
synopsis/index.txt
|
||||||
|
synopsis/index-t2t.html
|
||||||
synopsis/index.html
|
synopsis/index.html
|
||||||
synopsis/api-examples-*.txt
|
synopsis/api-examples-*.txt
|
||||||
synopsis/api-examples.gfs
|
synopsis/api-examples.gfs
|
||||||
|
|||||||
@@ -29,10 +29,13 @@ index: index.html
|
|||||||
index.txt: MkSynopsis.hs MkExxTable.hs $(INCLUDES) $(EXAMPLES_OUT) $(SRC_FILES)
|
index.txt: MkSynopsis.hs MkExxTable.hs $(INCLUDES) $(EXAMPLES_OUT) $(SRC_FILES)
|
||||||
runghc -i$(ROOT) MkSynopsis.hs
|
runghc -i$(ROOT) MkSynopsis.hs
|
||||||
|
|
||||||
TITLE=$(shell head -n 1 index.txt)
|
index-t2t.html: index.txt
|
||||||
index.html: index.txt $(TEMPLATE)
|
|
||||||
txt2tags --target=html --no-headers --quiet --toc --outfile=$@ --infile=$<
|
txt2tags --target=html --no-headers --quiet --toc --outfile=$@ --infile=$<
|
||||||
sed -i.bak "s/<A NAME=\"\(.*\)\"><\/A>/<div id=\"\1\"><\/div>/" $@
|
sed -i.bak "s/<A NAME=\"\(.*\)\"><\/A>/<div id=\"\1\"><\/div>/" $@
|
||||||
|
rm "$@.bak"
|
||||||
|
|
||||||
|
TITLE=$(shell head -n 1 index.txt)
|
||||||
|
index.html: index-t2t.html $(TEMPLATE)
|
||||||
pandoc \
|
pandoc \
|
||||||
--from=html \
|
--from=html \
|
||||||
--to=html5 \
|
--to=html5 \
|
||||||
@@ -44,7 +47,7 @@ index.html: index.txt $(TEMPLATE)
|
|||||||
--css="synopsis.css" \
|
--css="synopsis.css" \
|
||||||
--include-after-body="quicklinks.html" \
|
--include-after-body="quicklinks.html" \
|
||||||
--output=$(TMP) \
|
--output=$(TMP) \
|
||||||
$@
|
index-t2t.html
|
||||||
mv $(TMP) $@
|
mv $(TMP) $@
|
||||||
sed -i.bak "s/<table>/<table class=\"table w-auto\">/" $@
|
sed -i.bak "s/<table>/<table class=\"table w-auto\">/" $@
|
||||||
sed -i.bak -e '/img src="categories.png"/r categories-imagemap.html' -e '/img src="categories.png"/d' $@
|
sed -i.bak -e '/img src="categories.png"/r categories-imagemap.html' -e '/img src="categories.png"/d' $@
|
||||||
|
|||||||
@@ -122,3 +122,47 @@ appendChildren(
|
|||||||
quicklinks()
|
quicklinks()
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
// Toggle quicklinks
|
||||||
|
function toggleSidebar () {
|
||||||
|
var m = document.getElementById('main')
|
||||||
|
var q = document.getElementById('quicklinks')
|
||||||
|
var mClasses = 'col-md-9 col-xl-10'
|
||||||
|
var qClasses = 'col-4 col-md-3 col-xl-2 offset-8 offset-md-9 offset-xl-10'
|
||||||
|
if (hasClass(q, 'd-none')) {
|
||||||
|
// Show
|
||||||
|
addClass(m, mClasses)
|
||||||
|
addClass(q, qClasses)
|
||||||
|
removeClass(q, 'd-none')
|
||||||
|
} else {
|
||||||
|
// Hide
|
||||||
|
removeClass(m, mClasses)
|
||||||
|
removeClass(q, qClasses)
|
||||||
|
addClass(q, 'd-none')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
document.getElementById('btn-quicklinks-toggle').addEventListener('click', toggleSidebar)
|
||||||
|
if (window.innerWidth >= 768) {
|
||||||
|
// Below 768 (== 'md' breakpoint) sidebar overlays content and best left hidden
|
||||||
|
toggleSidebar()
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
// Helpers
|
||||||
|
|
||||||
|
// Won't work on IE9; use className and split
|
||||||
|
function addClass (elem, classnames) {
|
||||||
|
for (var c of classnames.split(' ')) elem.classList.add(c)
|
||||||
|
}
|
||||||
|
function removeClass (elem, classnames) {
|
||||||
|
for (var c of classnames.split(' ')) elem.classList.remove(c)
|
||||||
|
}
|
||||||
|
// function toggleClass (elem, classnames) {
|
||||||
|
// for (var c of classnames.split(' ')) elem.classList.toggle(c)
|
||||||
|
// }
|
||||||
|
function hasClass (elem, classname) {
|
||||||
|
return elem.classList.contains(classname)
|
||||||
|
}
|
||||||
|
|||||||
@@ -35,15 +35,15 @@ $endfor$
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<nav class="col-md-3 col-xl-2 d-none d-md-block sidebar pt-4" id="quicklinks">
|
<button class="btn btn-light m-1" id="btn-quicklinks-toggle" style="position: fixed; top: 0; right: 0; z-index: 10;">
|
||||||
<!-- filled dynamically via quicklinks.js -->
|
<i class="fas fa-bars"></i>
|
||||||
</nav>
|
</button>
|
||||||
|
|
||||||
<main role="main" class="col-md-9 col-xl-10 offset-md-3 offset-xl-2 pt-3">
|
<main role="main" class="col my-3" style="overflow-x: scroll" id="main">
|
||||||
$if(title)$
|
$if(title)$
|
||||||
<header id="title-block-header">
|
<header id="title-block-header">
|
||||||
<a href="$rel-root$" title="Home">
|
<a href="$rel-root$" title="Home">
|
||||||
<img src="$rel-root$/doc/Logos/gf1.svg" height="200px" class="float-md-right mb-3 bg-white" alt="GF Logo">
|
<img src="$rel-root$/doc/Logos/gf1.svg" height="200px" class="float-md-left mb-3 mr-3 bg-white" alt="GF Logo">
|
||||||
</a>
|
</a>
|
||||||
<h1 class="title">$title$</h1>
|
<h1 class="title">$title$</h1>
|
||||||
$if(subtitle)$
|
$if(subtitle)$
|
||||||
@@ -64,6 +64,11 @@ $if(toc)$
|
|||||||
$endif$
|
$endif$
|
||||||
$body$
|
$body$
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
<nav class="d-none sidebar py-3 border-left bg-light" id="quicklinks">
|
||||||
|
<!-- filled dynamically via quicklinks.js -->
|
||||||
|
</nav>
|
||||||
|
|
||||||
</div><!-- .row -->
|
</div><!-- .row -->
|
||||||
</div><!-- .container-fluid -->
|
</div><!-- .container-fluid -->
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user