Skip to content

Commit 5683062

Browse files
authored
Merge pull request #512 from percona/ps-9812
PS-9812 [DOCS] - Add topic index 8.4
2 parents 30245ec + 96ecf66 commit 5683062

File tree

3 files changed

+279
-1
lines changed

3 files changed

+279
-1
lines changed

docs/index-contents.md

Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
# Index
2+
3+
- [Adaptive network buffers](adaptive-network-buffers.md)
4+
- [Additional SELinux tools and management](additional-selinux-tools.md)
5+
- [AppArmor profile modes](apparmor-profiles.md)
6+
- [Apt pinning the Percona Server for MySQL {{vers}} packages](apt-pinning.md)
7+
- [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md)
8+
- [Audit Log Filter file format overview](audit-log-filter-formats.md)
9+
- [Audit Log Filter file naming conventions](audit-log-filter-naming.md)
10+
- [Audit Log Filter format - JSON](audit-log-filter-json.md)
11+
- [Audit Log Filter format - XML (new style)](audit-log-filter-new.md)
12+
- [Audit Log Filter format - XML (old style)](audit-log-filter-old.md)
13+
- [Audit log filter functions, options, and variables](audit-log-filter-variables.md)
14+
- [Audit Log Filter overview](audit-log-filter-overview.md)
15+
- [Audit Log Filter restrictions](audit-log-filter-restrictions.md)
16+
- [Audit Log Filter security](audit-log-filter-security.md)
17+
- [Authentication methods](authentication-methods.md)
18+
- [Backup and restore overview](backup-restore-overview.md)
19+
- [Backup locks](backup-locks.md)
20+
- [Binary logs and replication improvements](binlogging-replication-improvements.md)
21+
- [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md)
22+
- [Build APT packages](build-apt-packages.md)
23+
- [Common data types](data-types-basic.md)
24+
- [Common SQL commands](common-sql.md)
25+
- [Common SQL errors](sql-errors.md)
26+
- [Compile Percona Server for MySQL from source](compile-percona-server.md)
27+
- [Compressed columns with dictionaries](compressed-columns.md)
28+
- [Configure AppArmor](configure-apparmor.md)
29+
- [Copyright and licensing information](copyright-and-licensing-information.md)
30+
- [Create a table](create-table.md)
31+
- [Data at Rest Encryption](data-at-rest-encryption.md)
32+
- [Data loading](myrocks-data-loading.md)
33+
- [Data masking component functions and variables](data-masking-function-list.md)
34+
- [Data masking overview](data-masking-overview.md)
35+
- [DELETE statement](delete.md)
36+
- [Development of Percona Server for MySQL](development.md)
37+
- [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md)
38+
- [Disable AppArmor](disable-apparmor.md)
39+
- [Disable Audit Log Filter logging](disable-audit-log-filter.md)
40+
- [Docker environment variables](docker-config.md)
41+
- [Downgrade from Percona Server for MySQL Pro](downgrade-from-pro.md)
42+
- [Downgrade Percona Server for MySQL](downgrade.md)
43+
- [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md)
44+
- [Encrypt doublewrite file pages](encrypt-doublewrite-file-pages.md)
45+
- [Encrypt File-Per-Table Tablespace](encrypt-file-per-table-tablespace.md)
46+
- [Encrypt schema or general tablespace](encrypt-tablespaces.md)
47+
- [Encrypt system tablespace](encrypt-system-tablespace.md)
48+
- [Encrypt temporary files](encrypt-temporary-files.md)
49+
- [Encryption functions](encryption-functions.md)
50+
- [Enforcing storage engine](enforce-engine.md)
51+
- [Error handling in stored procedures](stored-procedure-error-handling.md)
52+
- [Expanded fast index creation](innodb-expanded-fast-index-creation.md)
53+
- [Extended mysqldump](extended-mysqldump.md)
54+
- [Extended SELECT INTO OUTFILE/DUMPFILE](extended-select-into-outfile.md)
55+
- [Extended SET VAR optimizer hint](extended-set-var.md)
56+
- [Extended show engine InnoDB status](innodb-show-status.md)
57+
- [FIDO authentication plugin](fido-authentication-plugin.md)
58+
- [Files in packages built for Percona Server for MySQL Pro](pro-files.md)
59+
- [Files in the DEB package built for Percona Server for MySQL {{vers}}](apt-files.md)
60+
- [Files in the RPM package built for Percona Server for MySQL {{vers}}](yum-files.md)
61+
- [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md)
62+
- [FIPS compliance](fips.md)
63+
- [Frequently asked questions](faq.md)
64+
- [Functions](functions.md)
65+
- [Gap locks detection](myrocks-gap-locks-detection.md)
66+
- [Get help from Percona](get-help.md)
67+
- [Glossary](glossary.md)
68+
- [Group replication system variables](group-replication-system-variables.md)
69+
- [Handle corrupted tables](innodb-corrupt-table-action.md)
70+
- [How we use artificial intelligence](ai-docs.md)
71+
- [Improved InnoDB I/O scalability](innodb-io.md)
72+
- [Improved MEMORY storage engine](improved-memory-engine.md)
73+
- [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md)
74+
- [InnoDB full-text search improvements](innodb-fts-improvements.md)
75+
- [InnoDB page fragmentation counters](innodb-fragmentation-count.md)
76+
- [INSERT statement](insert.md)
77+
- [INSTALL COMPONENT](install-component.md)
78+
- [Install from Percona Software repository](yum-repo.md)
79+
- [Install js_lang component](install-js-lang.md)
80+
- [Install Percona Server for MySQL](installation.md)
81+
- [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md)
82+
- [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md)
83+
- [Install Percona Server for MySQL from a source tarball](source-tarball.md)
84+
- [Install Percona Server for MySQL Pro](install-pro.md)
85+
- [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md)
86+
- [Install Percona Server for MySQL {{vers}} from a binary tarball](binary-tarball-install.md)
87+
- [Install Percona Server for MySQL {{vers}} using downloaded DEB packages](apt-download-deb.md)
88+
- [Install the Audit Log Filter](install-audit-log-filter.md)
89+
- [Install the data masking component](install-data-masking-component.md)
90+
- [Introduction to database tables](table.md)
91+
- [Introduction to Databases and SQL](database.md)
92+
- [Isolation levels](isolation-levels.md)
93+
- [Jemalloc memory allocation profiling](jemalloc-profiling.md)
94+
- [JS privileges](js-lang-privileges.md)
95+
- [JS stored function or procedure](js-lang-procedures.md)
96+
- [JS stored procedure and function overview](js-lang-overview.md)
97+
- [JSON in Percona Server for MySQL](json-overview.md)
98+
- [Keyring components overview](keyring-components-plugins-overview.md)
99+
- [Kill idle transaction](kill-idle-trx.md)
100+
- [LDAP authentication plugin system variables](ldap-system-variables.md)
101+
- [Limit the estimation of records in a Query](query-limit-records.md)
102+
- [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md)
103+
- [Log encryption](encrypt-logs.md)
104+
- [Manage group replication flow control](group-replication-flow-control.md)
105+
- [Manage SELinux modes](manage-selinux-modes.md)
106+
- [Manage the Audit Log Filter files](manage-audit-log-filter.md)
107+
- [Managing AppArmor profiles](manage-apparmor-profiles.md)
108+
- [Managing binary log disk space](binlog-space.md)
109+
- [Misc. INFORMATION_SCHEMA tables](misc-info-schema-tables.md)
110+
- [Modify a table](modify-tables.md)
111+
- [Multiple page asynchronous I/O requests](aio-page-requests.md)
112+
- [MyRocks column families](myrocks-column-families.md)
113+
- [MyRocks Information Schema tables](myrocks-information-schema-tables.md)
114+
- [MyRocks limitations](myrocks-limitations.md)
115+
- [MyRocks server variables](myrocks-server-variables.md)
116+
- [MyRocks status variables](myrocks-status-variables.md)
117+
- [MySQL Clone plugin](clone-plugin.md)
118+
- [Next steps](quickstart-next-steps.md)
119+
- [Overview](quickstart-overview.md)
120+
- [PAM authentication plugin](pam-plugin.md)
121+
- [Percona MyRocks installation guide](install-myrocks.md)
122+
- [Percona MyRocks introduction](myrocks-index.md)
123+
- [Percona Product Download Instructions](download-instructions.md)
124+
- [Percona Server for MySQL feature comparison](feature-comparison.md)
125+
- [Percona Server for MySQL Pro](psmysql-pro.md)
126+
- [Percona Server for MySQL {{vers}} - Documentation](index.md)
127+
- [Percona Server for MySQL {{vers}} variables](percona-server-system-variables.md)
128+
- [Percona Toolkit UDFs](udf-percona-toolkit.md)
129+
- [The Percona XtraDB storage engine](percona-xtradb.md)
130+
- [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md)
131+
- [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md)
132+
- [Post-installation](post-installation.md)
133+
- [Prefix index queries optimization](prefix-index-queries-optimization.md)
134+
- [Process list](process-list.md)
135+
- [The ProcFS plugin](procfs-plugin.md)
136+
- [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md)
137+
- [Reading Audit Log Filter files](reading-audit-log-filter-files.md)
138+
- [Restrict dynamic log file locations](restrict-dynamic-log-locations.md)
139+
- [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md)
140+
- [Rotate the master encryption key](rotate-master-key.md)
141+
- [Run Percona Server for MySQL](yum-run.md)
142+
- [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md)
143+
- [Running Percona Server for MySQL in a Docker Container](docker.md)
144+
- [Secure Percona Server for MySQL with AppArmor](apparmor.md)
145+
- [Secure Percona Server for MySQL with SELinux](selinux.md)
146+
- [SELECT statement](select.md)
147+
- [SELinux contexts and labels](selinux-contexts.md)
148+
- [SEQUENCE_TABLE(n) function](sequence-table.md)
149+
- [Show storage engines](show-engines.md)
150+
- [Slow query log](slow-extended.md)
151+
- [Slow query log rotation and expiration](slowlog-rotation.md)
152+
- [SQL basics](sql-basics.md)
153+
- [SQL conventions](sql-conventions.md)
154+
- [SQL operators](sql-operators.md)
155+
- [SQL syntax](sql-syntax.md)
156+
- [SSL improvements](ssl-improvement.md)
157+
- [Stack trace](stacktrace.md)
158+
- [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md)
159+
- [Stored Procedures](stored-procedures.md)
160+
- [Support for PROXY protocol](proxy-protocol-support.md)
161+
- [Suppress warning messages](log-warnings-suppress.md)
162+
- [Telemetry on Percona Server for MySQL](telemetry.md)
163+
- [Thread based profiling](thread-based-profiling.md)
164+
- [Thread pool](threadpool.md)
165+
- [Too many connections warning](log-connection-error.md)
166+
- [Trademark policy](trademark-policy.md)
167+
- [Transaction management](transaction-mgmt.md)
168+
- [Trigger updates](trigger-updates.md)
169+
- [Triggers](triggers.md)
170+
- [Troubleshoot AppArmor profiles](troubleshoot-apparmor.md)
171+
- [Troubleshoot JS procedures and functions](js-lang-troubleshoot.md)
172+
- [Troubleshoot SELinux issues](troubleshoot-selinux.md)
173+
- [Troubleshoot SQL code](troubleshooting-sql.md)
174+
- [Understand version numbers](server-version-numbers.md)
175+
- [Uninstall Audit Log Filter](uninstall-audit-log-filter.md)
176+
- [UNINSTALL COMPONENT](uninstall-component.md)
177+
- [Uninstall Percona Server for MySQL](yum-uninstall.md)
178+
- [Uninstall Percona Server for MySQL {{vers}} using the APT package manager](apt-uninstall-server.md)
179+
- [Uninstall the component](uninstall-data-masking-component.md)
180+
- [Uninstall the js_lang component](uninstall-js-lang.md)
181+
- [UPDATE statement](update.md)
182+
- [Updated supported features](myrocks-added-features.md)
183+
- [Upgrade from 8.0 to {{vers}} overview](upgrade.md)
184+
- [Upgrade strategies](upgrade-strategies.md)
185+
- [Upgrade to Percona Server for MySQL Pro](upgrade-pro.md)
186+
- [Upgrade using standalone packages](upgrade-standalone-packages.md)
187+
- [Upgrade using the Percona repositories](upgrade-percona-repos.md)
188+
- [Upgrading from plugins to components](upgrade-components.md)
189+
- [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md)
190+
- [Use Docker Compose and named volumes](docker-compose.md)
191+
- [Use Percona Monitoring and Management (PMM) Advisors](advisors.md)
192+
- [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md)
193+
- [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md)
194+
- [Use the keyring file component](use-keyring-file.md)
195+
- [Use the keyring vault component](use-keyring-vault-component.md)
196+
- [User statistics](user-stats.md)
197+
- [Using LDAP authentication plugins](ldap-authentication.md)
198+
- [Using libcoredumper](libcoredumper.md)
199+
- [Utility user](utility-user.md)
200+
- [UUID_VX component](uuid-versions.md)
201+
- [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md)
202+
- [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md)
203+
- [Views](views.md)
204+
- [Write audit_log_filter definitons](write-filter-definitions.md)
205+
- [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md)

mkdocs-base.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,5 +426,5 @@ nav:
426426
- copyright-and-licensing-information.md
427427
- glossary.md
428428
- ai-docs.md
429-
429+
- Topic Index: index-contents.md
430430
# - Version Selector: "../"

scripts/generate_index.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#!/usr/bin/env python3
2+
3+
"""
4+
generate_index.py - Generate an index of Markdown files in the top-level docs/ directory.
5+
6+
How to run:
7+
8+
cd scripts
9+
python3 generate_index.py
10+
11+
Run from the root directory of your project.
12+
"""
13+
14+
import os
15+
16+
def strip_prefixes(s):
17+
prefixes = ('The ', 'Work with ')
18+
s_lower = s.lower()
19+
for prefix in prefixes:
20+
if s_lower.startswith(prefix.lower()):
21+
return s[len(prefix):]
22+
return s
23+
24+
# Define path to docs/ and the output file
25+
script_dir = os.path.dirname(os.path.abspath(__file__))
26+
docs_dir = os.path.abspath(os.path.join(script_dir, '..', 'docs'))
27+
index_file_path = os.path.join(docs_dir, 'index-contents.md')
28+
29+
# Files to exclude
30+
exclude_files = {'404.md', 'index-contents.md'}
31+
32+
# Delete old index file
33+
if os.path.exists(index_file_path):
34+
os.remove(index_file_path)
35+
print(f"Deleted existing index file: {index_file_path}")
36+
37+
index_content = '# Index\n\n'
38+
39+
# Only list .md files in the top-level docs directory
40+
file_entries = []
41+
42+
for file in os.listdir(docs_dir):
43+
if file.endswith('.md') and file not in exclude_files:
44+
filepath = os.path.join(docs_dir, file)
45+
relative_path = os.path.relpath(filepath, docs_dir).replace(os.sep, '/')
46+
47+
display_name = ''
48+
try:
49+
with open(filepath, 'r', encoding='utf-8') as md_file:
50+
for line in md_file:
51+
if line.strip().startswith('# '):
52+
display_name = line.strip()[2:].strip()
53+
break
54+
except Exception as e:
55+
print(f"Error reading file {filepath}: {e}")
56+
continue
57+
58+
if not display_name:
59+
display_name = os.path.splitext(file)[0]
60+
61+
sort_key = strip_prefixes(display_name).strip().lower()
62+
file_entries.append((sort_key, display_name, relative_path))
63+
64+
file_entries.sort()
65+
66+
for _, display_name, relative_path in file_entries:
67+
index_content += f'- [{display_name}]({relative_path})\n'
68+
69+
# Write the new index
70+
with open(index_file_path, 'w', encoding='utf-8') as index_file:
71+
index_file.write(index_content)
72+
73+
print(f"Index generated at {index_file_path}")

0 commit comments

Comments
 (0)