Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,6 @@ Display author information with circular GitHub-style avatars on authored pages.
- Optional `team_author:` config for a catch-all team attribution (e.g., "Great Tables Team")
- `site.show_author: true/false` to enable/disable author display

### Page Status Badges

Visual indicators for page lifecycle status in navigation.

- `status: new` frontmatter shows "New" badge in sidebar
- `status: deprecated` shows deprecation indicator
- Custom status definitions in `great-docs.yml`
- Badge icons and colors configurable per status
- Filter/highlight pages by status

### Reading Time Estimate

Auto-calculate and display estimated reading time.
Expand Down
1 change: 1 addition & 0 deletions great-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ nav_icons:
Changelog: history
Custom Static Pages: app-window
Page Tags: tags
Page Status Badges: shield-check
Community Files: file-heart
Docs Linting: list-checks

Expand Down
272 changes: 272 additions & 0 deletions great_docs/_translations.py
Original file line number Diff line number Diff line change
Expand Up @@ -4606,6 +4606,278 @@
"ar": "{count} صفحات",
"he": "{count} עמודים",
},
# ── Page Status Badge labels ──────────────────────────────────────────
"status_label_new": {
"en": "New",
"fr": "Nouveau",
"de": "Neu",
"es": "Nuevo",
"pt": "Novo",
"it": "Nuovo",
"nl": "Nieuw",
"ja": "新規",
"ko": "신규",
"zh-Hans": "新增",
"zh-Hant": "新增",
"ru": "Новое",
"pl": "Nowe",
"tr": "Yeni",
"sv": "Nytt",
"da": "Nyt",
"nb": "Nytt",
"is": "Nýtt",
"fi": "Uusi",
"cs": "Nové",
"ro": "Nou",
"el": "Νέο",
"hi": "नया",
"ar": "جديد",
"he": "חדש",
},
"status_label_updated": {
"en": "Updated",
"fr": "Mis à jour",
"de": "Aktualisiert",
"es": "Actualizado",
"pt": "Atualizado",
"it": "Aggiornato",
"nl": "Bijgewerkt",
"ja": "更新済み",
"ko": "업데이트됨",
"zh-Hans": "已更新",
"zh-Hant": "已更新",
"ru": "Обновлено",
"pl": "Zaktualizowane",
"tr": "Güncellendi",
"sv": "Uppdaterat",
"da": "Opdateret",
"nb": "Oppdatert",
"is": "Uppfært",
"fi": "Päivitetty",
"cs": "Aktualizováno",
"ro": "Actualizat",
"el": "Ενημερωμένο",
"hi": "अपडेट किया गया",
"ar": "محدّث",
"he": "עודכן",
},
"status_label_beta": {
"en": "Beta",
"fr": "Bêta",
"de": "Beta",
"es": "Beta",
"pt": "Beta",
"it": "Beta",
"nl": "Bèta",
"ja": "ベータ",
"ko": "베타",
"zh-Hans": "测试版",
"zh-Hant": "測試版",
"ru": "Бета",
"pl": "Beta",
"tr": "Beta",
"sv": "Beta",
"da": "Beta",
"nb": "Beta",
"is": "Beta",
"fi": "Beta",
"cs": "Beta",
"ro": "Beta",
"el": "Bήτα",
"hi": "बीटा",
"ar": "تجريبي",
"he": "בטא",
},
"status_label_deprecated": {
"en": "Deprecated",
"fr": "Obsolète",
"de": "Veraltet",
"es": "Obsoleto",
"pt": "Obsoleto",
"it": "Deprecato",
"nl": "Verouderd",
"ja": "非推奨",
"ko": "지원 중단",
"zh-Hans": "已弃用",
"zh-Hant": "已棄用",
"ru": "Устарело",
"pl": "Przestarzałe",
"tr": "Kullanımdan kaldırıldı",
"sv": "Föråldrat",
"da": "Forældet",
"nb": "Utdatert",
"is": "Úrelt",
"fi": "Vanhentunut",
"cs": "Zastaralé",
"ro": "Învechit",
"el": "Καταργημένο",
"hi": "अप्रचलित",
"ar": "مهمل",
"he": "מיושן",
},
"status_label_experimental": {
"en": "Experimental",
"fr": "Expérimental",
"de": "Experimentell",
"es": "Experimental",
"pt": "Experimental",
"it": "Sperimentale",
"nl": "Experimenteel",
"ja": "実験的",
"ko": "실험적",
"zh-Hans": "实验性",
"zh-Hant": "實驗性",
"ru": "Экспериментальное",
"pl": "Eksperymentalne",
"tr": "Deneysel",
"sv": "Experimentellt",
"da": "Eksperimentelt",
"nb": "Eksperimentelt",
"is": "Tilraunakennt",
"fi": "Kokeellinen",
"cs": "Experimentální",
"ro": "Experimental",
"el": "Πειραματικό",
"hi": "प्रयोगात्मक",
"ar": "تجريبي",
"he": "ניסיוני",
},
# ── Page Status Badge descriptions ────────────────────────────────────
"status_desc_new": {
"en": "Recently added",
"fr": "Ajouté récemment",
"de": "Kürzlich hinzugefügt",
"es": "Añadido recientemente",
"pt": "Adicionado recentemente",
"it": "Aggiunto di recente",
"nl": "Recent toegevoegd",
"ja": "最近追加",
"ko": "최근 추가됨",
"zh-Hans": "最近添加",
"zh-Hant": "最近新增",
"ru": "Недавно добавлено",
"pl": "Niedawno dodane",
"tr": "Yakın zamanda eklendi",
"sv": "Nyligen tillagt",
"da": "Nyligt tilføjet",
"nb": "Nylig lagt til",
"is": "Nýlega bætt við",
"fi": "Äskettäin lisätty",
"cs": "Nedávno přidáno",
"ro": "Adăugat recent",
"el": "Πρόσφατη προσθήκη",
"hi": "हाल ही में जोड़ा गया",
"ar": "أُضيف مؤخرًا",
"he": "נוסף לאחרונה",
},
"status_desc_updated": {
"en": "Recently updated",
"fr": "Mis à jour récemment",
"de": "Kürzlich aktualisiert",
"es": "Actualizado recientemente",
"pt": "Atualizado recentemente",
"it": "Aggiornato di recente",
"nl": "Recent bijgewerkt",
"ja": "最近更新",
"ko": "최근 업데이트됨",
"zh-Hans": "最近更新",
"zh-Hant": "最近更新",
"ru": "Недавно обновлено",
"pl": "Niedawno zaktualizowane",
"tr": "Yakın zamanda güncellendi",
"sv": "Nyligen uppdaterat",
"da": "Nyligt opdateret",
"nb": "Nylig oppdatert",
"is": "Nýlega uppfært",
"fi": "Äskettäin päivitetty",
"cs": "Nedávno aktualizováno",
"ro": "Actualizat recent",
"el": "Πρόσφατη ενημέρωση",
"hi": "हाल ही में अपडेट किया गया",
"ar": "حُدّث مؤخرًا",
"he": "עודכן לאחרונה",
},
"status_desc_beta": {
"en": "Beta feature",
"fr": "Fonctionnalité bêta",
"de": "Beta-Funktion",
"es": "Función beta",
"pt": "Funcionalidade beta",
"it": "Funzionalità beta",
"nl": "Bètafunctie",
"ja": "ベータ機能",
"ko": "베타 기능",
"zh-Hans": "测试版功能",
"zh-Hant": "測試版功能",
"ru": "Бета-функция",
"pl": "Funkcja beta",
"tr": "Beta özelliği",
"sv": "Betafunktion",
"da": "Betafunktion",
"nb": "Betafunksjon",
"is": "Betaeiginleiki",
"fi": "Beta-ominaisuus",
"cs": "Beta funkce",
"ro": "Funcție beta",
"el": "Λειτουργία βήτα",
"hi": "बीटा सुविधा",
"ar": "ميزة تجريبية",
"he": "תכונת בטא",
},
"status_desc_deprecated": {
"en": "May be removed in a future release",
"fr": "Pourrait être supprimé dans une version future",
"de": "Kann in einer zukünftigen Version entfernt werden",
"es": "Puede eliminarse en una versión futura",
"pt": "Pode ser removido em uma versão futura",
"it": "Potrebbe essere rimosso in una versione futura",
"nl": "Kan in een toekomstige versie worden verwijderd",
"ja": "将来のリリースで削除される可能性があります",
"ko": "향후 릴리스에서 제거될 수 있습니다",
"zh-Hans": "可能在未来版本中移除",
"zh-Hant": "可能在未來版本中移除",
"ru": "Может быть удалено в будущей версии",
"pl": "Może zostać usunięte w przyszłej wersji",
"tr": "Gelecek bir sürümde kaldırılabilir",
"sv": "Kan tas bort i en framtida version",
"da": "Kan blive fjernet i en fremtidig version",
"nb": "Kan bli fjernet i en fremtidig versjon",
"is": "Gæti verið fjarlægt í framtíðarútgáfu",
"fi": "Voidaan poistaa tulevassa versiossa",
"cs": "Může být odstraněno v budoucí verzi",
"ro": "Poate fi eliminat într-o versiune viitoare",
"el": "Ενδέχεται να αφαιρεθεί σε μελλοντική έκδοση",
"hi": "भविष्य के संस्करण में हटाया जा सकता है",
"ar": "قد يُزال في إصدار مستقبلي",
"he": "עשוי להיות מוסר בגרסה עתידית",
},
"status_desc_experimental": {
"en": "API may change without notice",
"fr": "L'API peut changer sans préavis",
"de": "API kann sich ohne Vorankündigung ändern",
"es": "La API puede cambiar sin previo aviso",
"pt": "A API pode mudar sem aviso prévio",
"it": "L'API può cambiare senza preavviso",
"nl": "API kan zonder kennisgeving wijzigen",
"ja": "APIは予告なく変更される場合があります",
"ko": "API가 예고 없이 변경될 수 있습니다",
"zh-Hans": "API 可能会在不另行通知的情况下更改",
"zh-Hant": "API 可能會在不另行通知的情況下變更",
"ru": "API может измениться без предупреждения",
"pl": "API może ulec zmianie bez powiadomienia",
"tr": "API önceden haber verilmeksizin değişebilir",
"sv": "API kan ändras utan förvarning",
"da": "API kan ændres uden varsel",
"nb": "API kan endres uten varsel",
"is": "API gæti breyst án fyrirvara",
"fi": "API voi muuttua ilman erillistä ilmoitusta",
"cs": "API se může změnit bez upozornění",
"ro": "API-ul se poate schimba fără notificare",
"el": "Το API μπορεί να αλλάξει χωρίς προειδοποίηση",
"hi": "API बिना सूचना के बदल सकती है",
"ar": "قد تتغير واجهة برمجة التطبيقات دون إشعار",
"he": "ה-API עשוי להשתנות ללא הודעה מוקדמת",
},
}


Expand Down
79 changes: 79 additions & 0 deletions great_docs/assets/great-docs.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5701,6 +5701,85 @@ body.quarto-dark {
}
}

// ── Page Status Badges ──────────────────────────────────────────────────────

// Page-level status indicator (below page title)
.gd-page-status {
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.25rem 0.65rem;
margin-top: 0.3rem;
margin-bottom: 0.6rem;
font-size: 14px;
font-weight: 500;
line-height: 1.4;
border-radius: 0.35rem;
color: var(--gd-status-color, $text-muted);
background-color: color-mix(in srgb, var(--gd-status-color, $text-muted) 8%, transparent);
border: 1px solid color-mix(in srgb, var(--gd-status-color, $text-muted) 25%, transparent);

.gd-status-badge-icon {
display: inline-flex;
align-items: center;
opacity: 0.85;

svg {
width: 14px;
height: 14px;
}
}

.gd-status-badge-label {
font-weight: 600;
}

.gd-status-badge-desc {
font-weight: 400;
opacity: 0.8;
}
}

// Sidebar status badges (inline after link text)
.gd-sidebar-status-badge {
display: inline-flex;
align-items: center;
justify-content: center;
margin-left: 4px;
padding: 0.05rem 0.35rem;
font-size: 0.65rem;
font-weight: 600;
line-height: 1.3;
border-radius: 0.75rem;
color: var(--gd-status-color, $text-muted);
background-color: color-mix(in srgb, var(--gd-status-color, $text-muted) 10%, transparent);
white-space: nowrap;
flex-shrink: 0;

svg {
width: 11px;
height: 11px;
}
}

// Make sidebar links flex so badges align right
.sidebar-navigation .sidebar-item .sidebar-link {
display: flex;
align-items: center;
}

// Dark mode overrides for status badges
body.quarto-dark {
.gd-page-status {
background-color: color-mix(in srgb, var(--gd-status-color, $text-muted) 12%, transparent);
border-color: color-mix(in srgb, var(--gd-status-color, $text-muted) 30%, transparent);
}

.gd-sidebar-status-badge {
background-color: color-mix(in srgb, var(--gd-status-color, $text-muted) 15%, transparent);
}
}


/*-- scss:functions --*/

Expand Down
Loading
Loading