☰ GDG /
Docstrings (001–005)
#002 gdtest_google #003 gdtest_sphinx #001 gdtest_minimal #004 gdtest_nodocs #005 gdtest_mixed_docs
Layouts (006–013)
#007 gdtest_python_layout #008 gdtest_lib_layout #006 gdtest_src_layout #009 gdtest_hatch #010 gdtest_setuptools_find #011 gdtest_setup_cfg #012 gdtest_setup_py #013 gdtest_auto_discover
Exports (014–017)
#014 gdtest_no_all #016 gdtest_config_exclude #015 gdtest_all_concat #017 gdtest_auto_exclude
Object Types (018–027)
#018 gdtest_small_class #020 gdtest_dataclasses #019 gdtest_big_class #021 gdtest_enums #022 gdtest_typed_containers #023 gdtest_protocols #024 gdtest_descriptors #026 gdtest_nested_class #025 gdtest_dunders #027 gdtest_constants
Directives (028–032)
#028 gdtest_seealso #029 gdtest_nodoc #030 gdtest_user_guide_auto #031 gdtest_user_guide_sections #032 gdtest_user_guide_subdirs
User Guide (033–038)
#033 gdtest_user_guide_explicit #034 gdtest_user_guide_custom_dir #035 gdtest_user_guide_hyphen #036 gdtest_readme_rst #037 gdtest_index_qmd #038 gdtest_index_md
Landing Pages (039–043)
#039 gdtest_no_readme #040 gdtest_index_wins #041 gdtest_index_frontmatter #042 gdtest_full_extras #043 gdtest_github_contrib
Extras & Config (044–050)
#044 gdtest_cli_click #048 gdtest_name_mismatch #046 gdtest_explicit_ref #045 gdtest_cli_nested #047 gdtest_kitchen_sink #049 gdtest_src_big_class #050 gdtest_google_big_class
Cross-Dimension (051–065)
#051 gdtest_user_guide_cli #053 gdtest_src_no_all #052 gdtest_explicit_big_class #055 gdtest_google_seealso #054 gdtest_extras_guide #056 gdtest_setup_cfg_src #057 gdtest_exclude_cli #058 gdtest_src_explicit_ref #059 gdtest_async_funcs #060 gdtest_generators #061 gdtest_overloads #062 gdtest_abstract_props #063 gdtest_multi_inherit #064 gdtest_slots_class #065 gdtest_frozen_dc
API Patterns (066–077)
#066 gdtest_generics #067 gdtest_context_mgr #068 gdtest_decorators #069 gdtest_exceptions #070 gdtest_reexports #071 gdtest_many_exports #072 gdtest_deep_nesting #073 gdtest_long_docs #074 gdtest_many_guides #076 gdtest_flit #077 gdtest_pdm #075 gdtest_many_big_classes
Scale & Stress (078–082)
#078 gdtest_namespace #079 gdtest_monorepo #080 gdtest_multi_module #081 gdtest_src_legacy #082 gdtest_empty_module
Build Systems (083–088)
#083 gdtest_all_private #084 gdtest_duplicate_all #085 gdtest_badge_readme #086 gdtest_math_docs #087 gdtest_mixed_guide_ext #088 gdtest_unicode_docs
Edge Cases (089–095)
#089 gdtest_config_all_on #090 gdtest_config_display #091 gdtest_config_minimal #092 gdtest_config_parser #093 gdtest_config_extra_keys #094 gdtest_github_icon #095 gdtest_source_branch
Config Matrix (096–100)
#096 gdtest_source_path #097 gdtest_source_title #098 gdtest_source_disabled #099 gdtest_sidebar_disabled #100 gdtest_sidebar_min_items
Config Options (101–125)
#102 gdtest_cli_name #103 gdtest_dynamic_false #101 gdtest_sidebar_float #104 gdtest_parser_google #105 gdtest_parser_sphinx #106 gdtest_display_name #107 gdtest_funding #108 gdtest_authors_multi #109 gdtest_no_darkmode #110 gdtest_exclude_list #111 gdtest_jupyter_kernel #112 gdtest_config_sections #113 gdtest_config_ug_string #114 gdtest_config_ug_list #115 gdtest_config_changelog #116 gdtest_config_reference #117 gdtest_config_combo_a
#121 gdtest_config_combo_e FAIL
#118 gdtest_config_combo_b #119 gdtest_config_combo_c #120 gdtest_config_combo_d #122 gdtest_config_combo_f #123 gdtest_attribution_on #124 gdtest_attribution_off #125 gdtest_rst_versionadded
Docstring Richness (126–150)
#126 gdtest_rst_deprecated #127 gdtest_rst_note #128 gdtest_rst_warning #130 gdtest_rst_caution #129 gdtest_rst_tip #131 gdtest_rst_danger #132 gdtest_rst_important #134 gdtest_directives #133 gdtest_rst_mixed_dirs #135 gdtest_sphinx_func_role #136 gdtest_sphinx_class_role #137 gdtest_sphinx_exc_role #138 gdtest_sphinx_meth_role #139 gdtest_sphinx_mixed_roles #140 gdtest_numpy_rich #141 gdtest_google_rich #142 gdtest_sphinx_rich #143 gdtest_docstring_examples #144 gdtest_examples_rst_repro #145 gdtest_docstring_notes #146 gdtest_docstring_warnings #147 gdtest_docstring_references #148 gdtest_docstring_seealso #150 gdtest_docstring_tables #149 gdtest_docstring_math
UG Variations (151–165)
#151 gdtest_docstring_combo #152 gdtest_ug_auto #153 gdtest_ug_numbered #154 gdtest_ug_sections_fm #155 gdtest_ug_subdirs #156 gdtest_ug_custom_dir #157 gdtest_ug_deep_nest #158 gdtest_ug_mixed_ext #160 gdtest_ug_explicit_order #159 gdtest_ug_many_pages #162 gdtest_ug_no_frontmatter #161 gdtest_ug_single_page #164 gdtest_ug_with_images #163 gdtest_ug_with_code #165 gdtest_ug_hyphen_dir
Custom Sections (166–175)
#166 gdtest_ug_combo #167 gdtest_sec_examples #168 gdtest_sec_tutorials #169 gdtest_sec_recipes #170 gdtest_sec_blog #171 gdtest_sec_faq #172 gdtest_sec_multi #173 gdtest_sec_navbar_after #174 gdtest_sec_with_ug #175 gdtest_sec_with_ref
Reference Config (176–185)
#176 gdtest_sec_deep #177 gdtest_sec_index_opt #178 gdtest_sec_index_hero #179 gdtest_sec_sidebar_single #180 gdtest_custom_passthrough_navbar #181 gdtest_custom_raw_navbar_after #182 gdtest_custom_mixed_modes #183 gdtest_custom_nested_combo #184 gdtest_custom_basename_output #185 gdtest_custom_nested_output
Site Theming (186–195)
#186 gdtest_custom_missing_dir_combo #187 gdtest_ref_explicit #188 gdtest_ref_members_false #189 gdtest_ref_mixed #190 gdtest_ref_reorder #192 gdtest_ref_single_section #191 gdtest_ref_sectioned #193 gdtest_ref_module_expand #194 gdtest_ref_big_class #195 gdtest_ref_multi_big
Stress Tests (196–200)
#196 gdtest_ref_title #197 gdtest_theme_cosmo #198 gdtest_theme_lumen #199 gdtest_theme_cerulean #200 gdtest_toc_disabled #201 gdtest_toc_depth #202 gdtest_toc_title #203 gdtest_site_combo #204 gdtest_display_badges #205 gdtest_display_authors #206 gdtest_display_funding #207 gdtest_stress_all_config #208 gdtest_stress_all_docstr #209 gdtest_stress_all_ug #210 gdtest_stress_all_sections #212 gdtest_src_google_seealso #211 gdtest_stress_everything #213 gdtest_hatch_nodoc #214 gdtest_pdm_big_class #215 gdtest_flit_enums #216 gdtest_namespace_ug #217 gdtest_ug_subdir_numbered #218 gdtest_homepage_ug #220 gdtest_logo #221 gdtest_hero_basic #222 gdtest_hero_readme_badges #219 gdtest_long_names #223 gdtest_hero_disabled #224 gdtest_hero_custom #225 gdtest_hero_wordmark #226 gdtest_hero_no_logo #227 gdtest_hero_explicit_badges #228 gdtest_hero_index_qmd #229 gdtest_hero_auto_logo #230 gdtest_md_disabled #231 gdtest_md_no_widget #232 gdtest_announce_simple #233 gdtest_announce_dict #234 gdtest_announce_disabled #235 gdtest_gradient_sky #236 gdtest_gradient_peach #237 gdtest_gradient_prism #238 gdtest_gradient_lilac #239 gdtest_gradient_slate #240 gdtest_gradient_honey #241 gdtest_gradient_dusk #242 gdtest_gradient_mint #243 gdtest_gradient_navbar #244 gdtest_gradient_both #245 gdtest_gradient_mixed #246 gdtest_gradient_no_dismiss #247 gdtest_header_text #248 gdtest_header_list #249 gdtest_header_file #250 gdtest_navbar_color #251 gdtest_navbar_color_light #252 gdtest_navbar_color_dark #253 gdtest_navbar_color_same #254 gdtest_navbar_color_split #256 gdtest_stress_everything_q #255 gdtest_kitchen_sink_q #257 gdtest_seealso_desc #258 gdtest_numpy_seealso_desc #259 gdtest_interlinks_prose #260 gdtest_autolink #261 gdtest_skill_default #262 gdtest_skill_curated #264 gdtest_skill_disabled #263 gdtest_skill_config #265 gdtest_skill_rich #266 gdtest_skill_combo #267 gdtest_skill_complex #268 gdtest_i18n_french #269 gdtest_i18n_japanese #270 gdtest_i18n_arabic #271 gdtest_code_cells #273 gdtest_page_tags #272 gdtest_nav_icons #274 gdtest_page_status #277 gdtest_homepage_ug_subdirs #275 gdtest_tag_location #276 gdtest_icon_shortcode #278 gdtest_gt_tables #281 gdtest_homepage_wide #282 gdtest_interlinks_userguide #279 gdtest_scale_to_fit #280 gdtest_scale_min_scale #283 gdtest_code_span_headings #286 gdtest_namespace_src #284 gdtest_sec_blog_user_index #285 gdtest_sec_dir_titles #287 gdtest_auto_include #288 gdtest_no_auto_exclude #290 gdtest_tbl_shortcode #292 gdtest_hr_shortcode #293 gdtest_accent_color #294 gdtest_keys_shortcode #291 gdtest_tbl_explorer #289 gdtest_tbl_preview #296 gdtest_inline_always #295 gdtest_inline_methods #297 gdtest_inline_never #298 gdtest_inline_threshold #299 gdtest_ref_inherited_explicit #300 gdtest_ref_include_inherited #304 gdtest_lightbox #302 gdtest_details_shortcode #303 gdtest_termshow #301 gdtest_mock_code #305 gdtest_hero_no_name #306 gdtest_sec_nested_tags #307 gdtest_sec_xref_subdirs #308 gdtest_bibliography #311 gdtest_go_cli #309 gdtest_bibliography_csl #310 gdtest_custom_css #312 gdtest_ug_dark_assets #313 gdtest_code_include #314 gdtest_ug_mixed_subdir_order #315 gdtest_type_aliases
314/315 built ⏱ 48.5s 🧪 9/24

APCA Contrast Showcase

How navbar_color Works

When you set navbar_color in your great-docs.yml, Great Docs uses the APCA (Accessible Perceptual Contrast Algorithm) to automatically determine whether the navbar text, icons, and controls should be light (white) or dark (black).

This page shows the algorithm’s choices across 97 different background colors spanning the entire spectrum.

Configuration for This Site

This site uses per-mode navbar colors:

navbar_color:
  light: "#2c3e50"   # Charcoal (gets white text)
  dark: "#1a237e"    # Deep indigo (gets white text)

You can also set a single color for both modes:

navbar_color: steelblue

Color Swatch Grid

Each row shows a background color with the APCA-selected text color rendered on top. The Hex and Name columns use the computed text color directly on the background, so you can judge readability at a glance.

Hex Name RGB Text Choice
#FF0000 Red rgb(255,0,0) white
#DC143C Crimson rgb(220,20,60) white
#8B0000 Dark Red rgb(139,0,0) white
#FF6347 Tomato rgb(255,99,71) white
#CD5C5C Indian Red rgb(205,92,92) white
#F08080 Light Coral rgb(240,128,128) white
#FF4500 Orange Red rgb(255,69,0) white
#FF8C00 Dark Orange rgb(255,140,0) black
#FFA500 Orange rgb(255,165,0) black
#FF7F50 Coral rgb(255,127,80) black
#E9967A Dark Salmon rgb(233,150,122) black
#FA8072 Salmon rgb(250,128,114) black
#FFD700 Gold rgb(255,215,0) black
#FFFF00 Yellow rgb(255,255,0) black
#F0E68C Khaki rgb(240,230,140) black
#FAFAD2 Lt Goldenrod rgb(250,250,210) black
#FFFACD Lemon Chiffon rgb(255,250,205) black
#EEE8AA Pale Goldenrod rgb(238,232,170) black
#006400 Dark Green rgb(0,100,0) white
#008000 Green rgb(0,128,0) white
#228B22 Forest Green rgb(34,139,34) white
#2E8B57 Sea Green rgb(46,139,87) white
#32CD32 Lime Green rgb(50,205,50) black
#00FF00 Lime rgb(0,255,0) black
#90EE90 Light Green rgb(144,238,144) black
#98FB98 Pale Green rgb(152,251,152) black
#ADFF2F Green Yellow rgb(173,255,47) black
#008080 Teal rgb(0,128,128) white
#008B8B Dark Cyan rgb(0,139,139) white
#20B2AA Lt Sea Green rgb(32,178,170) white
#00CED1 Dark Turquoise rgb(0,206,209) black
#40E0D0 Turquoise rgb(64,224,208) black
#00FFFF Cyan rgb(0,255,255) black
#E0FFFF Light Cyan rgb(224,255,255) black
#000080 Navy rgb(0,0,128) white
#00008B Dark Blue rgb(0,0,139) white
#0000FF Blue rgb(0,0,255) white
#191970 Midnight Blue rgb(25,25,112) white
#4169E1 Royal Blue rgb(65,105,225) white
#4682B4 Steel Blue rgb(70,130,180) white
#1E90FF Dodger Blue rgb(30,144,255) white
#6495ED Cornflower Blue rgb(100,149,237) white
#87CEEB Sky Blue rgb(135,206,235) black
#ADD8E6 Light Blue rgb(173,216,230) black
#B0E0E6 Powder Blue rgb(176,224,230) black
#E3F2FD Ice Blue rgb(227,242,253) black
#4B0082 Indigo rgb(75,0,130) white
#663399 Rebecca Purple rgb(102,51,153) white
#800080 Purple rgb(128,0,128) white
#8B008B Dark Magenta rgb(139,0,139) white
#9370DB Medium Purple rgb(147,112,219) white
#BA55D3 Medium Orchid rgb(186,85,211) white
#DA70D6 Orchid rgb(218,112,214) white
#DDA0DD Plum rgb(221,160,221) black
#E6E6FA Lavender rgb(230,230,250) black
#C71585 Med Violet Red rgb(199,21,133) white
#FF1493 Deep Pink rgb(255,20,147) white
#FF69B4 Hot Pink rgb(255,105,180) white
#FFB6C1 Light Pink rgb(255,182,193) black
#FFC0CB Pink rgb(255,192,203) black
#FFF0F5 Lavender Blush rgb(255,240,245) black
#8B4513 Saddle Brown rgb(139,69,19) white
#A0522D Sienna rgb(160,82,45) white
#D2691E Chocolate rgb(210,105,30) white
#CD853F Peru rgb(205,133,63) white
#DEB887 Burlywood rgb(222,184,135) black
#F5DEB3 Wheat rgb(245,222,179) black
#000000 Black rgb(0,0,0) white
#1a1a1a #1a1a1a rgb(26,26,26) white
#333333 #333333 rgb(51,51,51) white
#555555 #555555 rgb(85,85,85) white
#696969 Dim Gray rgb(105,105,105) white
#808080 Gray rgb(128,128,128) white
#A9A9A9 Dark Gray rgb(169,169,169) black
#C0C0C0 Silver rgb(192,192,192) black
#D3D3D3 Light Gray rgb(211,211,211) black
#F5F5F5 White Smoke rgb(245,245,245) black
#FFFFFF White rgb(255,255,255) black
#2c3e50 Charcoal rgb(44,62,80) white
#34495e Wet Asphalt rgb(52,73,94) white
#1abc9c Turquoise rgb(26,188,156) black
#2ecc71 Emerald rgb(46,204,113) black
#3498db Peter River rgb(52,152,219) white
#9b59b6 Amethyst rgb(155,89,182) white
#e74c3c Alizarin rgb(231,76,60) white
#f39c12 Sun Flower rgb(243,156,18) black
#e67e22 Carrot rgb(230,126,34) white
#ecf0f1 Clouds rgb(236,240,241) black
#bdc3c7 Silver Cloud rgb(189,195,199) black
#7f8c8d Asbestos rgb(127,140,141) white
#27ae60 Nephritis rgb(39,174,96) white
#16a085 Green Sea rgb(22,160,133) white
#2980b9 Belize Hole rgb(41,128,185) white
#8e44ad Wisteria rgb(142,68,173) white
#f1c40f Sunflower rgb(241,196,15) black
#d35400 Pumpkin rgb(211,84,0) white
#c0392b Pomegranate rgb(192,57,43) white

About the APCA Algorithm

The APCA (Accessible Perceptual Contrast Algorithm) is a modern replacement for the WCAG 2.x contrast ratio. Key advantages:

  • Perceptually uniform: matches how humans actually perceive contrast, unlike the simple luminance ratio in WCAG 2.x.
  • Polarity-aware: treats dark-on-light differently from light-on-dark, reflecting the asymmetry in human vision.
  • Better mid-range decisions: WCAG 2.x often fails for medium-tone colors; APCA handles these correctly.

The implementation is ported from the gt R package, using SAPC APCA Beta 0.0.98G-4g coefficients.