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