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