# Documentation Page Overhaul v2 Use nested lists to describe how you would like the documenation structured. ## Current nf-core website structure > [!Note] > - *Italics* denotes a category with no page - Home - Pipelines - Resources - *Components* - Modules - Subworkflows - *Configs* - Shared configs - Docs (No drop down though) - *Banner* - Getting Started - Adding modules to pipelines - nf-test: Example assertions - nf-core/tools: installation - Usage - Getting started - Introduction - Dependency installation - Configuration - Offline - nf-core terminology - Troubleshooting - Overview - Basics - Configuration - Input output - Early crash - Stuck on revision - Crash halfway - Update does not work - Unable to acquire lock - Docker permissions - Reference genomes - Contributing - Pipelines - Pipeline file structure - nf-test - Assertions - Components - Ext.args - Meta map - Website - Markdown - Code editors and styling - Code formatting - Editor plugins - Harshil alignment - Tutorials - Use nf-core pipelines - Config instutional profile - Adding a pipeline - Overview - Creating a pipeline - Test data - Move to nf-core org - First steps - Next steps - nf-core components - Adding modules to pipelines - writing nf-core components - Tests and test data - Writing nf-test test - Test data - Gitpod - Overview - Git in Gitpod - Config - Webdev - nf-core repo - Alternatives - Contributing to nf-core - Adding your institution - Contributing to components - Contributing to pipelines - Writing training - External usage - nf-core configs outside of nf-core - Nextflow training - Creating with nf-core - Nextflow - Sync - Overview - ( TODO: Finish listing out pages ) - nf-core contributing overview - Guidelines - Pipelines - Components - External use - Graphic Design - Checklists - Review - Pipeline release - nf-core tools - Installation - Pipeline - Modules - Subworkflows - TUI - Custom remotes - Api reference - Community - *What's happening* - Blog - *Events* - Bytesize - Training - Hackathon - Talks - *Programs and groups* - Special Intrest Groups - Mentorships - Contributors - About - About nf-core - Governance - Marketing - Code of Conduct - Publications - Statistics - Join nf-core ### Noted issues - Side menu doesn't scroll when fully expanded ## James: Suggestion ### General guidance: - no more than 3 levels ### Structure: - Users - Getting started - Running pipelines - Configuring pipelines - Troubleshooting pipelines - Developers - Tutorials (e.g. contribute first time) [learning] - Modules - Configs - Subworkflows - Pipelines - How to run nf-test (dedicated page, or in modules-pipelines?) - Specifications [information reference] - Test-data - Modules - Subworkflows - Pipelines - Configs - (?)Graphic design - Checklists [how to] - Adding new modules - Reviewing modules - Adding modules to pipelines - Adding new subworkflows - Reviewing subworkflows - Adding subworkflows to pipelines - Reviewing pipelines - Adding pipelines - Adding to website - etc. Outstanding question: how does `tools` docs fit into this? ## Mahesh: Suggestion I suggest using the technique described https://diataxis.fr/ to restructure the website documentation. ### General propositions - No more than three levels deep (fourth+ level are page sections). - Don't differentiate between users and developers in docs. View all as contributors - people do what they feel they can. - Separate documentation by Tutorials (learner), How-to (experienced), Explaination (learner), Reference (experienced) - See [Diataxis: complex heirarchies page](https://diataxis.fr/complex-hierarchies/) for example layout. - Note: Things don't strictly fit consistently into these buckets - Reference (describe a product - don't explain): - What is a module - What is a subworkflow - nf-core tool commands - nf-core api - Explanation (explain why something is the way it is): - Why do we use a meta map - Why do we use the Harshil alignment - Tutorials (pages with a focus on doing/learning): - write an nf-core module - write an nf-core subworkflow - make review a pull request - How-to (describe directions to a goal - if this, then that): - structure a module - structure a subworkflow - structure an nf-test ### Considerations - People are generally not familiar with diataxis - Maintaining the philosophical separation ( likely not practically possible or restructure needs to be that clear ) ### Proposed restructure > [!Note] > Work in progress - Home - News (*updates*) - Blog/Bytesize/Hackathon/Talks/Training events/Mentorships - Special Interest Groups - Publications - Statistics - Documentation ( *This diataxis separation is difficult* ) - Tutorials ( exercises ) - Participate in nf-core - Slack - Hackathon - Run your first pipeline - Configure a pipeline - Run a pipeline in a closed environment (offline) - Interpret pipeline errors - Add to a pipeline - Write an nf-core pipeline - Write an nf-core module - Write an nf-core subworkflow - Make a test data set - Make a metro map - Explanations - Terminology - Best practices - Error codes - Summaries ( Overviews/Guidelines ) - Do we need a summary if tutorial covers it? - Participate in nf-core - Slack - Hackathon - Run pipelines - run - offline - configure - troubleshoot - References (checklists) - Module checklist - Subworkflow checklist - Pipeline checklist - Test data checklist - Graphic design checklist - Resources ( *get stuff* ) - nf-core tools - Pipelines - Modules - Subworkflows - Instutional configurations - Editor plugins - Graphic design assets - About (Contributors *- nf-core is the community*) - Governance - Code of Conduct / Marketing - Join