Skip to content

Commit 0131857

Browse files
Add custom icons and update MkDocs configuration
Added multiple SVG branding logos to overrides/.icons and a README for icon usage. Updated mkdocs.yml to enhance theme customization, navigation, plugins, and markdown extensions, including support for custom icons, improved code block features, and additional plugins for privacy and media optimization.
1 parent 3864628 commit 0131857

24 files changed

+334
-32
lines changed

mkdocs.yml

Lines changed: 188 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ copyright:
1414
# Default edit/view actions to "main" branch, instead of "master"
1515
edit_uri: blob/main/docs/
1616

17+
1718
# Configuration for webpage theme
1819
theme:
1920
# Theme: https://squidfunk.github.io/mkdocs-material/
2021
name: material
22+
custom_dir: overrides # Personalized changes to the theme
2123

2224
# Icon in Browser Tab (must be a square image - i.e. 32x32 pixels)
2325
favicon: assets/img/sfe-logo.png
@@ -27,39 +29,49 @@ theme:
2729
text: Roboto
2830
code: Roboto Mono
2931

32+
3033
# Features to Include (ref. theme documentation)
3134
features:
32-
33-
# Enable copy button on code blocks
35+
# Enable the copy button on code blocks
3436
- content.code.copy
3537

38+
# Enables code selection button to link a specific section of a code block
39+
- content.code.select
40+
3641
# Enable annotations in code blocks
3742
- content.code.annotate
3843

3944
# Enable "view source" and "edit this page" buttons
4045
- content.action.edit
4146
# - content.action.view
4247

48+
# Enable tooltips (pop-open dialog boxes)
49+
- content.tooltips
50+
4351
# Enable Navigation buttons in the footer (i.e. previous/next)
4452
- navigation.footer
4553

46-
# Enables anchor tracking (updates page url with the section user is on)
54+
# Enables anchor tracking (updates page URL with the section the user is on)
4755
# i.e. https://docs.sparkfun.com/<page link>/#<sub-section>
4856
- navigation.tracking
4957
- navigation.tabs.sticky
5058

5159
# Enables tabs for navigating the website
5260
- navigation.tabs
61+
5362
# Keeps tabs visible in the header when scrolling
5463
- navigation.tabs.sticky
5564

5665
# Adds pop-up button just below the header (when the user starts to scroll up)
57-
# Allows users to easily jump to the beginning of the page
66+
# i.e. Allows users to easily jump to the beginning of the page
5867
- navigation.top
5968

60-
# Renders path for page navigation at top of the page (makes page navigation more mobile friendly)
69+
# Renders path for page navigation at the top of the page (makes page navigation more mobile friendly)
6170
- navigation.path
6271

72+
# Highlights all occurrences of a search result when clicked on
73+
- search.highlight
74+
6375

6476
# Adds light/dark theme to the webpage
6577
palette:
@@ -89,6 +101,7 @@ theme:
89101
icon: material/weather-night
90102
name: Switch to light mode
91103

104+
92105
# Configures icons
93106
icon:
94107
# Sets homepage icon
@@ -118,6 +131,7 @@ theme:
118131
# Add custom admonitions
119132
github: simple/github
120133
arduino: simple/arduino
134+
rpi: simple/raspberrypi
121135
python: simple/python
122136
code: fontawesome/regular/file-code
123137
terminal: octicons/terminal-16
@@ -126,83 +140,198 @@ theme:
126140
# Permalink icon
127141
link: octicons/link-16
128142

129-
# Adds overrides for stylesheets, html, etc.
130-
custom_dir: overrides
131-
132143

133144
# Included MkDocs plugins
134145
# Add the installation of any new plugins to the ./github/workflows/mkdocs.yml file also
135146
plugins:
147+
# Default search plugin
136148
- search
149+
150+
# Allows formatting (code block, icons, etc.) in headings and titles
137151
- typeset
152+
153+
# Redirects page navigation
138154
- redirects:
139155
redirect_maps:
140-
'index.md': 'introduction.md'
156+
'index.md': 'introduction.md'
157+
158+
# Enables improved security for external links
159+
- privacy:
160+
# Disables plugin on local builds
161+
enabled: !ENV [CI, false]
162+
163+
# Disables cache mechanism, so that external assets can be updated during rebuilds
164+
cache: false
165+
166+
# # Allows for external assets to be used
167+
# assets: true
168+
# assets_fetch: true
169+
170+
# Provide domains for assets that are retrieved from external sites
171+
# assets_include:
172+
# - https://docs.sparkfun.com/
173+
174+
# assets_fetch_dir: /docs
175+
176+
# External links open in a new tab
177+
links_attr_map:
178+
target: _blank
179+
links_noopener: true
180+
181+
# Optimizes media files (*.png and *.jpg)
182+
- optimize:
183+
# Disables plugin on local builds
184+
enabled: !ENV [CI, false]
185+
186+
# Specify directory; otherwise, multiple instances are created (.cache/plugins and .cache/plugin)
187+
cache_dir: .cache/plugins/optimize
188+
189+
# Default values (from auto-complete)
190+
# ------------------------------
191+
# enabled: true
192+
# cache: true
193+
# cache_dir: .cache/plugins/optimize
194+
# optimize_png: true
195+
# optimize_png_speed: 4
196+
# optimize_png_strip: true
197+
# optimize_jpg: true
198+
# optimize_jpg_quality: 60
199+
# optimize_jpg_progressive: true
200+
# print_gain: true
201+
# print_gain_summary: true
202+
203+
141204
# Add revision date
142205
- git-revision-date-localized:
206+
# Disables plugin on local builds
207+
enabled: !ENV [CI, false]
208+
143209
enable_creation_date: true
144210
type: timeago
211+
145212
# Add git committers at bottom of the page
146213
- git-committers:
214+
# Disables plugin on local builds
215+
enabled: !ENV [CI, false]
216+
147217
repository: sparkfun/SparkFun_BlueSMiRF-v2
148218
branch: main
149-
# Add git authors at bottom of the page
150-
- git-authors
219+
151220
# Enables use of Git submodules and larger code base
152-
- monorepo
153-
# For PDF rendering
154-
# - with-pdf:
155-
# author: SparkFun Electronics&#174;
156-
# copyright: Copyright 2023 - SparkFun Electronics&#174;
157-
# cover_subtitle: none
158-
# cover_logo: img/sfe_logo_sm.png
159-
# exclude_pages: [ "hard_copy", "single_page", "file_issue", "contribute" ]
160-
# render_js: true
161-
# headless_chrome_path: headless-chromium
162-
# output_path: board_files/hookup_guide.pdf
221+
- monorepo:
222+
# Disables plugin on local builds
223+
enabled: !ENV [CI, false]
163224

164225

165226
# Included Markdown extensions
166227
markdown_extensions:
228+
# Adds support for syntax highlighting of code blocks
167229
- pymdownx.highlight:
168230
anchor_linenums: true
169231
line_spans: __span
232+
pygments_lang_class: true
233+
234+
# Adds support for syntax highlighting of inline code blocks
170235
- pymdownx.inlinehilite
236+
237+
# Adds the ability to embed content from arbitrary files
171238
- pymdownx.snippets:
172-
# base_path: ['./docs']
239+
base_path: ['.', './docs']
173240
url_download: true
174241
url_max_size: 0
175242
url_timeout: 0
176243
url_request_headers: {}
177-
- pymdownx.superfences
178-
- pymdownx.details
244+
dedent_subsections: True
245+
246+
# Adds support for a glossary of abbreviations
247+
auto_append:
248+
# - https://raw.githubusercontent.com/santaimpersonator/git-test/main/glossary-sparkfun.md
249+
# - glossary-sparkfun.md
250+
# - glossary-local.md
251+
252+
# Enables page previews
253+
- material.extensions.preview:
254+
configurations:
255+
- targets:
256+
exclude:
257+
- resources.md
258+
- troubleshooting_tips.md
259+
260+
# Allows embedding of code blocks in other elements
261+
- pymdownx.superfences:
262+
# Allows the use of diagrams
263+
custom_fences:
264+
- name: mermaid
265+
class: mermaid
266+
format: !!python/name:pymdownx.superfences.fence_code_format
267+
268+
# Allows the use of tabs in the document
179269
- pymdownx.tabbed:
180270
alternate_style: true
271+
slugify: !!python/object/apply:pymdownx.slugs.slugify
272+
kwds:
273+
case: lower
274+
275+
# Allows the use of Markup syntax
181276
- pymdownx.betterem:
182277
smart_enable: all
278+
279+
# Allows the use of in-text highlighting in Markdown syntax
183280
- pymdownx.mark
281+
- pymdownx.critic
282+
283+
# Allows the use of superscript/subscript formatting in Markdown syntax
184284
- pymdownx.caret
285+
286+
# Allows the use of strikeout formatting in Markdown syntax
185287
- pymdownx.tilde
288+
289+
# Allows the use of keyboard button formatting in Markdown syntax
186290
- pymdownx.keys
291+
292+
# Allows the use of tables in Markdown syntax
187293
- tables
294+
295+
# Allows the use of admonition/call-out boxes
188296
- admonition
297+
298+
# Allows admonition extension to collapse the call-out boxes
299+
- pymdownx.details
300+
301+
# Allows the use of Markdown syntax in HTML elements
189302
- md_in_html
303+
304+
# Allows the use of HTML syntax in Markdown elements
190305
- attr_list
306+
307+
# Allows the use of definition list formatting in Markdown syntax
308+
- def_list
309+
310+
# Allows the use of footnotes
311+
- footnotes
312+
313+
# Allows the use of abbreviations
314+
- abbr
315+
316+
# Allows the use of bundled and custom icons and emojis
191317
- pymdownx.emoji:
192-
emoji_index: !!python/name:materialx.emoji.twemoji
193-
emoji_generator: !!python/name:materialx.emoji.to_svg
318+
emoji_index: !!python/name:material.extensions.emoji.twemoji
319+
emoji_generator: !!python/name:material.extensions.emoji.to_svg
194320
options:
195321
custom_icons:
196322
- overrides/.icons
323+
324+
# Allows for the rendering of block and inline-block equations
197325
- pymdownx.arithmatex:
198326
generic: true
327+
328+
# Adds permalink icon to headers
199329
- toc:
200330
permalink: ''
201331
# Link: &#x1F517; 🔗
202332
# Chain: &#x26D3; ⛓
203333

204334

205-
206335
extra:
207336
# Configures the hyperlink for the logo in the header
208337
homepage: https://www.sparkfun.com/
@@ -223,6 +352,8 @@ extra:
223352
link: https://www.facebook.com/SparkFun
224353
- icon: fontawesome/brands/x-twitter
225354
link: https://twitter.com/sparkfun
355+
- icon: simple/discourse
356+
link: https://community.sparkfun.com/
226357

227358
# Configures Google Analytics
228359
analytics:
@@ -243,17 +374,42 @@ extra:
243374
- reject
244375

245376

246-
# Configures styling for PDF rendering and webpage layout
377+
# Configures styling for the webpage
247378
extra_css:
379+
# SparkFun Customizations
248380
- stylesheet/extra.css
249381

250-
# Enables support for rendering block and inline block equations through MathJax
382+
# Enables support for KaTeX
383+
# Leave disabled - causes issue when listing prices
384+
# - https://unpkg.com/katex@0/dist/katex.min.css
385+
386+
387+
# Enables support for rendering block and inline block equations through MathJax and KaTeX
251388
extra_javascript:
252-
# # Enables support for rendering block and inline block equations through MathJax
389+
# Enables support for MathJax
253390
- javascript/mathjax.js
254-
- https://polyfill.io/v3/polyfill.min.js?features=es6
391+
# - https://polyfill.io/v3/polyfill.min.js?features=es6
255392
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
256393

394+
# Enables support for KaTeX
395+
# Leave disabled - causes issue when listing prices
396+
# - javascript/katex.js
397+
# - https://unpkg.com/katex@0/dist/katex.min.js
398+
# - https://unpkg.com/katex@0/dist/contrib/auto-render.min.js
399+
400+
401+
# Configures webpage navigation
402+
403+
# Excludes README.md files from being built as webpages
404+
exclude_docs: |
405+
README.md
406+
407+
# Pages that are built, but not in the navigation menu
408+
not_in_nav: |
409+
index.md
410+
print_view.md
411+
favicon.ico
412+
257413
# Configures webpage navigation
258414
nav:
259415
- Getting Started:

overrides/.icons/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.icons directory
2+
====================
3+
This folder should contain branding logos for the product documentation
4+
5+
## General Images
6+
- `sfe.svg` - SparkFun flame logo
7+
- `kicad-primary.svg` - Full KiCad logo
8+
9+
## Directory
10+
- `logo` - Other available logos
11+
12+
## SVG Optimizer
13+
- [Remove meta data from svg](https://jakearchibald.github.io/svgomg/)

overrides/.icons/arduino.svg

Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading

overrides/.icons/espressif.svg

Lines changed: 1 addition & 0 deletions
Loading

overrides/.icons/fugro.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)