[generate-docc-reference] [GSoC 2025] Separate DocC Pages for Each Command
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- swift
- Área
- cli, documentation
Línea de trabajo
Comienza con el plugin generate-docc-reference existente y su generación actual de un artículo para el comando principal. Lee los issues #721 y #722 antes de definir la estructura; se considera terminado cuando haya páginas y directorios separados para comandos, flags, opciones y argumentos, junto con los archivos de metadatos y la categorización propuestos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
We’ve recently integrated the generate-docc-reference plugin into the SwiftArgumentParser project. One of the key improvements outlined in our project goals is to refine this plugin, enabling it to generate separate documentation pages for each command and organize them into a well-structured set of files. For now the plugin only generates an article for the main command. As articles are considered good for communicating the general purpose and overview of the project, we should create seperate pages for each command to get low level on explanations and how things work.
Proposed Structure
We can follow the structure below in order to expand our documentation generation further.
High Level Overview of the Structure
-
Separation of Command Documentation
The documentation will be split into individual pages for each command, with each page covering the details of the command, its flags, options, and arguments. This will provide clear, in-depth explanations for every command, rather than a single generic overview. -
Hierarchical File Structure
We will adopt a folder-based structure where each command, flag, option, and argument has its own dedicated markdown file. If a command has subcommands, they will also be structured into their own folders and documented similarly, ensuring clarity for users with more complex command-line tools. -
Metadata Categorization
To maintain organization, metadata will be added to each markdown file, categorizing them as command, flag, option, or argument. This will help categorize the components and provide meaningful context for users when navigating the documentation. -
Metadata Files
Relevant JSON files, such as topics.json, will be included in the root directory to define the overall structure of the documentation catalog.
Next Steps
- Since the contribution guidelines encourage small improvements and changes, we can start by creating directories and separate files for each command.
- Then we can create documents for argument, options and flags, listing all related properties to the command.
- Next, we can proceed to add the root metadata files like topics.json for the documentation catalog.
- Finally, we can focus on structuring the metadata for the arguments, options, and flags for each command.
- Then we can get low level and design the structure of our documentation files by solving the mentioned issues below:
- Lenguaje dominante
- Swift
- Estrellas
- 3.8k
- Forks
- 436
- Merge medio
- 4 d 11 h
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apple/swift-argument-parser
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apple/swift-argument-parser#1007 ·
Los mantenedores suelen responder en 3 días
-
Tool tests fail under the Swift Build build system because `generate-manual` & `generate-docc-reference` are not builtPosiblemente ocupada @rgoldberg la tomó hace 23 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apple/swift-argument-parser#995 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Consider making `String.wrapped()` and `Platform.terminalWidth` publicPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
apple/swift-argument-parser#973 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Include hidden args in completion scriptsPosiblemente ocupada @Galileo927 la tomó hace 182 días. Abiertogood first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apple/swift-argument-parser#733 · 7 comentarios ·
Los mantenedores suelen responder en 3 días
-
Shared `@OptionGroup` flag is rejected after a subcommand when the root has a passthrough `defaultSubcommand`Posiblemente ocupada @sean0407 la tomó hace 22 días. Abierto
Dificultad 4/5 1-2 días Aptitud para principiantes 48/100
apple/swift-argument-parser#994 ·
Los mantenedores suelen responder en 3 días
Todos los issues de apple/swift-argument-parser
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Ebullioscopic/Atoll#930 ·
Los mantenedores suelen responder en 2 días
-
area:development bug triage:needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
vburojevic/hermes#123 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
jaywcjlove/awesome-mac#4631 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Muesli-HQ/muesli#764 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dynamic Island: "Tools" and "Files" are the Quick panel and the Shelf under other namesPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
vorssaint/vorssaint-utils#4162 ·
Los mantenedores suelen responder en 2 días