Allow configuration for behavior when llms-full.txt is too large (#35)
This commit is contained in:
@@ -76,15 +76,26 @@ Handling Large Documentation
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
For very large documentation sets, generating the full documentation file might exceed reasonable size limits.
|
||||
You can set a maximum line count:
|
||||
You can set a maximum line count and control what happens when that limit is exceeded:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
llms_txt_full_max_size = 10000 # Maximum 10,000 lines
|
||||
llms_txt_full_size_policy = "warn_skip" # Default behavior
|
||||
|
||||
If the generated file would exceed this limit, the extension will skip its generation and show a warning, allowing the build to complete.
|
||||
The ``llms_txt_full_size_policy`` setting controls both the log level and action taken when the size limit is exceeded.
|
||||
It uses the format ``"<loglevel>_<action>"``:
|
||||
|
||||
.. tip:: Use :ref:`excluding_content` to remove less relevant pages.
|
||||
**Log levels:**
|
||||
- ``warn``: Log as a warning (default)
|
||||
- ``info``: Log as informational message
|
||||
|
||||
**Actions:**
|
||||
- ``skip``: Don't create the file (default)
|
||||
- ``keep``: Create the file anyway, ignoring the size limit
|
||||
- ``note``: Create a placeholder file explaining why the full file wasn't generated
|
||||
|
||||
.. tip:: Use :ref:`excluding_content` to remove less relevant pages and reduce the file size.
|
||||
|
||||
.. _custom_directive_handling:
|
||||
|
||||
@@ -198,6 +209,7 @@ Here's a complete example showing multiple :doc:`configuration-values`:
|
||||
llms_txt_filename = "ai-summary.txt"
|
||||
llms_txt_full_filename = "ai-full-docs.txt"
|
||||
llms_txt_full_max_size = 50000
|
||||
llms_txt_full_size_policy = "warn_note"
|
||||
|
||||
# Content customization
|
||||
llms_txt_title = "Project Documentation for AI Assistants"
|
||||
|
||||
@@ -24,11 +24,22 @@ Project Configuration Values
|
||||
- **Type**: integer or ``None``
|
||||
- **Default**: ``None`` (no limit)
|
||||
- **Description**: Sets a maximum line count for ``llms_txt_full_filename``.
|
||||
If exceeded, the file is skipped and a warning is shown, but the build still completes.
|
||||
Behavior when exceeded is controlled by :confval:`llms_txt_full_size_policy`.
|
||||
See :ref:`handling_large_documentation`.
|
||||
|
||||
.. versionadded:: 0.2.0
|
||||
|
||||
.. confval:: llms_txt_full_size_policy
|
||||
|
||||
- **Type**: string
|
||||
- **Default**: ``'warn_skip'``
|
||||
- **Description**: Controls what happens when :confval:`llms_txt_full_max_size` is exceeded.
|
||||
Format is ``<loglevel>_<action>``. Log levels: ``warn``, ``info``.
|
||||
Actions: ``skip``, ``keep``, ``note``.
|
||||
See :ref:`handling_large_documentation`.
|
||||
|
||||
.. versionadded:: 0.5.0
|
||||
|
||||
.. confval:: llms_txt_file
|
||||
|
||||
- **Type**: boolean
|
||||
|
||||
Reference in New Issue
Block a user