aboutsummaryrefslogtreecommitdiffhomepage
path: root/development/make.html
diff options
context:
space:
mode:
Diffstat (limited to 'development/make.html')
-rw-r--r--development/make.html31
1 files changed, 30 insertions, 1 deletions
diff --git a/development/make.html b/development/make.html
index 23065c7..630715d 100644
--- a/development/make.html
+++ b/development/make.html
@@ -88,11 +88,33 @@
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
+ <!-- Track and set sidebar scroll position -->
+ <script>
+ var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox');
+ sidebarScrollbox.addEventListener('click', function(e) {
+ if (e.target.tagName === 'A') {
+ sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop);
+ }
+ }, { passive: true });
+ var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll');
+ sessionStorage.removeItem('sidebar-scroll');
+ if (sidebarScrollTop) {
+ // preserve sidebar scroll position when navigating via links within sidebar
+ sidebarScrollbox.scrollTop = sidebarScrollTop;
+ } else {
+ // scroll sidebar to current active section when navigating via "next/previous chapter" buttons
+ var activeSection = document.querySelector('#sidebar .active');
+ if (activeSection) {
+ activeSection.scrollIntoView({ block: 'center' });
+ }
+ }
+ </script>
+
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
- <div id="menu-bar" class="menu-bar sticky bordered">
+ <div id="menu-bar" class="menu-bar sticky">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
@@ -234,6 +256,13 @@ VAR=123
out := $(in:.o=.c)
# =&gt; out = a.c l.a c.c
</code></pre>
+<h3 id="patsubst-ref"><a class="header" href="#patsubst-ref"><code>patsubst</code> (<a href="https://www.gnu.org/software/make/manual/html_node/Text-Functions.html#index-patsubst-1">ref</a>)</a></h3>
+<pre><code class="language-make">in := a.c b.c
+out := $(patsubst %.c, build/%.o, $(in))
+# =&gt; out = build/a.o build/b.o
+
+# This is actually equivalent to $(in:%.c=build/%.o)
+</code></pre>
<h3 id="filter"><a class="header" href="#filter"><code>filter</code></a></h3>
<p>Keep strings matching a pattern in a list.</p>
<pre><code class="language-make">in := a.a b.b c.c d.d