diff --git a/docs/admin_guide_docassemble/combining-interviews.md b/docs/admin_guide_docassemble/combining-interviews.md
deleted file mode 100644
index 685120507..000000000
--- a/docs/admin_guide_docassemble/combining-interviews.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-slug: combining-interviews
-title: Combining multiple interviews
-sidebar_label: Combining interviews
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl';
-
-## Overview
-
-1. linking
-1. using an umbrella structure
-1. designing a generic interview
-
-## Linking
-
-1. using `interview_url()`
-
-Example:
-
-* [Dashboard Menu](https://github.com/SuffolkLITLab/docassemble-ALDashboard/blob/main/docassemble/ALDashboard/data/questions/menu.yml)
-
-## Using an umbrella interview
-
-
-
-### Preparing the included interview
-
-1. remove all mandatory blocks in the child interview
-1. add a "named block" to the interview order block in the child interview
-1. give each attachment a `variable name` if it does not already have one
-
-### Reference the included interview in the umbrella interview
-
-1. add a reference to the `named block` in the umbrella interview
-1. add the new `variable name` to the download screen using `attachment code` or
- `ALDocumentBundle`
-
-## Read more
-
-1. https://docassemble.org/docs/logic.html#multiple%20interviews
-1. [Naming your modular interview files](https://assemblyline.suffolklitlab.org/docs/coding_style_guide/yaml#use-clear-filenames-for-modular-interview-files)
\ No newline at end of file
diff --git a/docs/components/ALKiln/components/_contribute_to_docs.md b/docs/components/ALKiln/components/_contribute_to_docs.md
deleted file mode 100644
index dad7aee0b..000000000
--- a/docs/components/ALKiln/components/_contribute_to_docs.md
+++ /dev/null
@@ -1 +0,0 @@
-(Want to add content or links to help this section? [Edit this file on GitHub](#:~:text=Edit%20this%20page).)
\ No newline at end of file
diff --git a/docs/components/ALToolbox/test_al_income.md b/docs/components/ALToolbox/test_al_income.md
deleted file mode 100644
index 2172511fc..000000000
--- a/docs/components/ALToolbox/test_al_income.md
+++ /dev/null
@@ -1,172 +0,0 @@
-# Table of Contents
-
-* [ALToolbox.test\_al\_income](#ALToolbox.test_al_income)
- * [test\_correct\_outputs](#ALToolbox.test_al_income.test_correct_outputs)
- * [test\_simple\_value](#ALToolbox.test_al_income.test_correct_outputs.test_simple_value)
- * [test\_simple\_value\_list](#ALToolbox.test_al_income.test_correct_outputs.test_simple_value_list)
- * [test\_income](#ALToolbox.test_al_income.test_correct_outputs.test_income)
- * [test\_income\_list](#ALToolbox.test_al_income.test_correct_outputs.test_income_list)
- * [test\_job](#ALToolbox.test_al_income.test_correct_outputs.test_job)
- * [test\_job\_list](#ALToolbox.test_al_income.test_correct_outputs.test_job_list)
- * [test\_asset](#ALToolbox.test_al_income.test_correct_outputs.test_asset)
- * [test\_asset\_list](#ALToolbox.test_al_income.test_correct_outputs.test_asset_list)
- * [test\_asset\_list\_with\_arabic](#ALToolbox.test_al_income.test_correct_outputs.test_asset_list_with_arabic)
- * [test\_vehicle](#ALToolbox.test_al_income.test_correct_outputs.test_vehicle)
- * [test\_vehicle\_list](#ALToolbox.test_al_income.test_correct_outputs.test_vehicle_list)
- * [test\_itemized\_value\_dict](#ALToolbox.test_al_income.test_correct_outputs.test_itemized_value_dict)
- * [test\_itemized\_job](#ALToolbox.test_al_income.test_correct_outputs.test_itemized_job)
- * [test\_itemized\_job\_list](#ALToolbox.test_al_income.test_correct_outputs.test_itemized_job_list)
-
----
-sidebar_label: test_al_income
-title: ALToolbox.test_al_income
----
-
-
-
-## test\_correct\_outputs Objects
-
-```python
-class test_correct_outputs(unittest.TestCase)
-```
-
-
-
-#### test\_simple\_value()
-
-```python
-def test_simple_value() -> None
-```
-
-Test ALSimpleValue
-
-
-
-#### test\_simple\_value\_list()
-
-```python
-def test_simple_value_list() -> None
-```
-
-Test ALSimpleValueList
-
-
-
-#### test\_income()
-
-```python
-def test_income() -> None
-```
-
-Test ALIncome
-
-
-
-#### test\_income\_list()
-
-```python
-def test_income_list() -> None
-```
-
-Test ALIncomeList
-
-
-
-#### test\_job()
-
-```python
-def test_job() -> None
-```
-
-Test ALJob
-
-
-
-#### test\_job\_list()
-
-```python
-def test_job_list() -> None
-```
-
-Test ALJobList
-
-
-
-#### test\_asset()
-
-```python
-def test_asset() -> None
-```
-
-Test ALAsset
-
-
-
-#### test\_asset\_list()
-
-```python
-def test_asset_list() -> None
-```
-
-Test ALAssetList
-
-
-
-#### test\_asset\_list\_with\_arabic()
-
-```python
-def test_asset_list_with_arabic() -> None
-```
-
-Test ALAssetList with Arabic locale
-
-
-
-#### test\_vehicle()
-
-```python
-def test_vehicle() -> None
-```
-
-Test ALVehicle
-
-
-
-#### test\_vehicle\_list()
-
-```python
-def test_vehicle_list() -> None
-```
-
-Test ALVehicleList
-
-
-
-#### test\_itemized\_value\_dict()
-
-```python
-def test_itemized_value_dict() -> None
-```
-
-Test ALItemizedValueDict
-
-
-
-#### test\_itemized\_job()
-
-```python
-def test_itemized_job() -> None
-```
-
-Test ALItemizedJob
-
-
-
-#### test\_itemized\_job\_list()
-
-```python
-def test_itemized_job_list() -> None
-```
-
-Test ALItemizedJobList
-
diff --git a/docs/components/ALToolbox/test_altoolbox.md b/docs/components/ALToolbox/test_altoolbox.md
deleted file mode 100644
index 15c714c52..000000000
--- a/docs/components/ALToolbox/test_altoolbox.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# Table of Contents
-
-* [ALToolbox.test\_altoolbox](#ALToolbox.test_altoolbox)
- * [TestBusinessDays](#ALToolbox.test_altoolbox.TestBusinessDays)
- * [test\_is\_business\_day](#ALToolbox.test_altoolbox.TestBusinessDays.test_is_business_day)
- * [test\_get\_date\_after\_n\_business\_days](#ALToolbox.test_altoolbox.TestBusinessDays.test_get_date_after_n_business_days)
- * [test\_get\_next\_business\_day](#ALToolbox.test_altoolbox.TestBusinessDays.test_get_next_business_day)
-
----
-sidebar_label: test_altoolbox
-title: ALToolbox.test_altoolbox
----
-
-
-
-## TestBusinessDays Objects
-
-```python
-class TestBusinessDays(unittest.TestCase)
-```
-
-
-
-#### test\_is\_business\_day()
-
-```python
-def test_is_business_day() -> None
-```
-
-Test is_business_day
-
-
-
-#### test\_get\_date\_after\_n\_business\_days()
-
-```python
-def test_get_date_after_n_business_days() -> None
-```
-
-Test get_date_after_n_business_days
-
-
-
-#### test\_get\_next\_business\_day()
-
-```python
-def test_get_next_business_day() -> None
-```
-
-Test get_next_business_day
-
diff --git a/docs/components/ALToolbox/test_misc.md b/docs/components/ALToolbox/test_misc.md
deleted file mode 100644
index 6dbe1cc26..000000000
--- a/docs/components/ALToolbox/test_misc.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Table of Contents
-
-* [ALToolbox.test\_misc](#ALToolbox.test_misc)
- * [TestButtonArray](#ALToolbox.test_misc.TestButtonArray)
- * [test\_button\_array\_generates\_correct\_html](#ALToolbox.test_misc.TestButtonArray.test_button_array_generates_correct_html)
- * [test\_button\_array\_filters\_by\_privilege](#ALToolbox.test_misc.TestButtonArray.test_button_array_filters_by_privilege)
-
----
-sidebar_label: test_misc
-title: ALToolbox.test_misc
----
-
-
-
-## TestButtonArray Objects
-
-```python
-class TestButtonArray(unittest.TestCase)
-```
-
-
-
-#### test\_button\_array\_generates\_correct\_html(mock\_privilege, mock\_privilege2)
-
-```python
-@patch("docassemble.ALToolbox.misc.user_has_privilege", return_value=False)
-@patch("ALToolbox.misc.user_has_privilege", return_value=False)
-def test_button_array_generates_correct_html(mock_privilege,
- mock_privilege2) -> None
-```
-
-Test button_array generates correct HTML
-
-**Arguments**:
-
-- `mock_privilege` - A mock object
-- `mock_privilege2` - A mock object
-
-
-
-#### test\_button\_array\_filters\_by\_privilege(mock\_this\_thread, mock\_privilege, mock\_privilege2)
-
-```python
-@patch("docassemble.ALToolbox.misc.user_has_privilege", return_value=False)
-@patch("ALToolbox.misc.user_has_privilege", return_value=False)
-@patch("docassemble.base.functions.this_thread")
-def test_button_array_filters_by_privilege(mock_this_thread, mock_privilege,
- mock_privilege2) -> None
-```
-
-Test button_array filters by privilege
-
-**Arguments**:
-
-- `mock_this_thread` - A mock object
-- `mock_privilege` - A mock object
-- `mock_privilege2` - A mock object
-
diff --git a/docs/components/AssemblyLine/project_maintenance.md b/docs/components/AssemblyLine/project_maintenance.md
deleted file mode 100644
index 46772a08b..000000000
--- a/docs/components/AssemblyLine/project_maintenance.md
+++ /dev/null
@@ -1,135 +0,0 @@
----
-sidebar_label: project_maintenance
-title: AssemblyLine.project_maintenance
----
-
-#### get\_package\_names
-
-Fetches the JSON file from the given docassemble server and extracts package names.
-
-**Arguments**:
-
-- `server_name` _str_ - Name or IP address of the docassemble server.
-
-
-**Returns**:
-
-- `List[str]` - List of package names.
-
-#### add\_tag\_to\_repos
-
-Adds a specific tag to each repository in the given list.
-
-**Arguments**:
-
-- `token` _str_ - GitHub Personal Access Token (PAT) with appropriate permissions.
-- `org_name` _str_ - Name of the GitHub organization.
-- `repo_names` _List[str]_ - List of repository names to which the tag will be added.
-- `tag` _str_ - The tag to be added to the repositories.
-
- This function iterates through each repository in the provided list, fetching the
- current topics (tags) of the repository. If the specified tag is not already present,
- it adds the tag to the repository. The function includes error handling to catch and
- print any errors that occur while processing each repository.
-
- Example usage:
- personal_access_token = "YOUR_PERSONAL_ACCESS_TOKEN"
- organization_name = "YourOrgName"
- repositories = ["repo1", "repo2", "repo3"]
- tag_to_add = "your-tag"
-
- add_tag_to_repos(personal_access_token, organization_name, repositories, tag_to_add)
-
-#### process\_packages\_and\_add\_tag
-
-Fetches package names from a docassemble server, transforms them into repository names,
-and adds a specified tag to each repository.
-
-**Arguments**:
-
-- `server_name` _str_ - Name or IP address of the docassemble server.
-- `token` _str_ - GitHub Personal Access Token.
-- `org_name` _str_ - Name of the GitHub organization.
-- `tag` _str_ - Tag to be added to each repository.
-
-#### get\_project\_by\_name
-
-Finds a GitHub Next-Generation project by its name within an organization using GraphQL API.
-
-**Arguments**:
-
-- `token` _str_ - GitHub Personal Access Token.
-- `org_name` _str_ - Name of the GitHub organization.
-- `project_name` _str_ - Name of the GitHub project.
-
-
-**Returns**:
-
-- `dict` - The GitHub project object, or None if not found.
-
-#### get\_repos\_by\_topic
-
-Fetches repositories in an organization that have a specific topic.
-
-**Arguments**:
-
-- `token` _str_ - GitHub Personal Access Token.
-- `org_name` _str_ - Name of the GitHub organization.
-- `topic` _str_ - The GitHub topic to filter repositories by.
-
-
-**Returns**:
-
-- `List[Repository]` - A list of repository objects that have the specified topic.
-
-#### add\_issues\_and\_create\_cards
-
-Adds an issue to each repository with a specific topic and creates a card for each issue in a Next-Generation GitHub project.
-
-**Arguments**:
-
-- `token` _str_ - GitHub Personal Access Token.
-- `org_name` _str_ - Name of the GitHub organization.
-- `project_name` _str_ - Name of the GitHub project.
-- `topic` _str_ - The GitHub topic to filter repositories by.
-- `issue_title` _str_ - Title of the issue.
-- `issue_body` _str_ - Body of the issue.
-
-#### find\_issues\_by\_title
-
-Finds issues in a list of repositories with a specific title.
-
-**Arguments**:
-
-- `token` _str_ - GitHub Personal Access Token.
-- `org_name` _str_ - Name of the GitHub organization.
-- `repo_names` _list_ - List of repository names.
-- `issue_title` _str_ - Title of the issue to be found.
-
-
-**Returns**:
-
-- `list` - A list of issue node IDs.
-
-#### add\_issue\_to\_project
-
-Adds an issue to a Next-Generation GitHub project.
-
-**Arguments**:
-
-- `token` _str_ - GitHub Personal Access Token.
-- `project_id` _str_ - Node ID of the GitHub project.
-- `issue_node_id` _str_ - Node ID of the GitHub issue.
-
-#### link\_issue\_title\_to\_project
-
-Links issues with a specific title in repositories with a certain topic to a Next-Generation project.
-
-**Arguments**:
-
-- `token` _str_ - GitHub Personal Access Token.
-- `org_name` _str_ - Name of the GitHub organization.
-- `project_name` _str_ - Name of the GitHub project.
-- `topic` _str_ - The GitHub topic to filter repositories by.
-- `issue_title` _str_ - Title of the issue to link.
-
diff --git a/docs/components/EFSPIntegration/test/test_conversions.md b/docs/components/EFSPIntegration/test/test_conversions.md
deleted file mode 100644
index 9de11843f..000000000
--- a/docs/components/EFSPIntegration/test/test_conversions.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-sidebar_label: test_conversions
-title: EFSPIntegration.test.test_conversions
----
-
-## TestConversions Objects
-
-```python
-class TestConversions(unittest.TestCase)
-```
-
-Tests conversions.py on the "vars.json" file
-
-#### test\_parse\_case\_info
-
-```python
-def test_parse_case_info()
-```
-
-Makes sure that participants of the case are parsed fully, needed
-
-## TestNoneResp Objects
-
-```python
-class TestNoneResp(unittest.TestCase)
-```
-
-Tests with none responses conversions.py on the "vars.json" file
-
-#### test\_none
-
-```python
-def test_none()
-```
-
-Makes sure that participants of the case are parsed fully, needed
-
-## TestCourtSwitching Objects
-
-```python
-class TestCourtSwitching(unittest.TestCase)
-```
-
-Tests that if we search a case in a grouped court (say peoria) and
-get back a court from a sub court (peariacr), that the
-court_id from the found case reflects the sub court.
-
-This is necessary, as filings can't be accepted to the grouped court.
-
-#### test\_switched\_court
-
-```python
-def test_switched_court()
-```
-
-Makes sure that participants of the case are parsed fully, needed
-
-## TestConversionIgnoreAttorneys Objects
-
-```python
-class TestConversionIgnoreAttorneys(unittest.TestCase)
-```
-
-#### test\_ignore\_attorneys
-
-```python
-def test_ignore_attorneys()
-```
-
-Attorneys are just stuck in the middle with normal case participants. You can't attach service contacts to them, so
-
diff --git a/docs/components/EFSPIntegration/test/test_proxy_conn.md b/docs/components/EFSPIntegration/test/test_proxy_conn.md
deleted file mode 100644
index 09cfcc66d..000000000
--- a/docs/components/EFSPIntegration/test/test_proxy_conn.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Table of Contents
-
-* [EFSPIntegration.test.test\_proxy\_conn](#EFSPIntegration.test.test_proxy_conn)
- * [jurisdiction](#EFSPIntegration.test.test_proxy_conn.jurisdiction)
-
----
-sidebar_label: test_proxy_conn
-title: EFSPIntegration.test.test_proxy_conn
----
-
-Env vars needed to run:
-
-* PROXY_URL: URL where the EfileProxyServer is running
-* PROXY_API_KEY: the API Key generated from the running EfileProxyServer
-* TYLER_USER_EMAIL: the email of a user account in the specific jurisdiction of Tyler's EFM (should be a firm account)
-* TYLER_USER_PASSWORD: the password for that user account
-
-
-
-#### jurisdiction
-
-'massachusetts'
-
diff --git a/docs/mdx.md b/docs/mdx.md
deleted file mode 100644
index f0210fb70..000000000
--- a/docs/mdx.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-id: mdx
-title: Powered by MDX
----
-
-You can write JSX and use React components within your Markdown thanks to [MDX](https://mdxjs.com/).
-
-export const Highlight = ({children, color}) => ( {children} );
-
-Docusaurus green and Facebook blue are my favorite colors.
-
-I can write **Markdown** alongside my _JSX_!
diff --git a/pydoc-markdown.yml b/pydoc-markdown.yml
index 55e259bab..20e799616 100644
--- a/pydoc-markdown.yml
+++ b/pydoc-markdown.yml
@@ -9,6 +9,7 @@ loaders:
processors:
- type: filter
skip_empty_modules: true
+ expression: "not name.startswith('test_') and 'test.' not in name"
- type: google
# - type: smart
- type: crossref
diff --git a/sidebars.js b/sidebars.js
index e3c637591..886d9ab10 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -83,30 +83,37 @@ module.exports = {
'docassemble_intro/repeated-information',
]
},
- {
- type: 'category',
- label: 'Administering docassemble',
- items: [
- 'admin_guide_docassemble/setup-server',
- 'admin_guide_docassemble/rebuild-lightsail-instance',
- 'admin_guide_docassemble/running-docassemble-without-aws',
- 'admin_guide_docassemble/run-docassemble-docker-vscode',
- //'admin_guide_docassemble/combining-interviews',
- 'admin_guide_docassemble/installing-production-app',
- 'admin_guide_docassemble/updates-and-maintenance',
- ],
- },
+ 'docassemble_intro/theming-docassemble',
]
},
+ {
+ type: 'category',
+ label: 'Administering docassemble',
+ items: [
+ 'admin_guide_docassemble/setup-server',
+ 'admin_guide_docassemble/rebuild-lightsail-instance',
+ 'admin_guide_docassemble/running-docassemble-without-aws',
+ 'admin_guide_docassemble/run-docassemble-docker-vscode',
+ 'admin_guide_docassemble/installing-production-app',
+ 'admin_guide_docassemble/updates-and-maintenance',
+ ],
+ },
{
label: 'Authoring interviews',
type: 'category',
items: [
- 'authoring/pdf_templates',
- 'authoring/docx_templates',
- 'authoring/dynamic_phrasing_based_on_values',
- 'authoring/document_variables_reference',
- 'authoring/name_formats',
+ {
+ label: 'Preparing templates and variables',
+ type: 'category',
+ collapsed: false,
+ items: [
+ 'authoring/pdf_templates',
+ 'authoring/docx_templates',
+ 'authoring/document_variables_reference',
+ 'authoring/name_formats',
+ 'authoring/dynamic_phrasing_based_on_values',
+ ],
+ },
{
label: 'The Assembly Line Weaver',
type: 'category',
@@ -124,10 +131,17 @@ module.exports = {
'authoring/weaver/weaver_authoring_checklist',
],
},
- 'authoring/github',
- 'authoring/customizing_interview',
- 'authoring/combining-interviews',
- 'authoring/writing_review_screen',
+ {
+ label: 'Customizing and extending interviews',
+ type: 'category',
+ collapsed: false,
+ items: [
+ 'authoring/customizing_interview',
+ 'authoring/writing_review_screen',
+ 'authoring/combining-interviews',
+ 'authoring/github',
+ ],
+ },
{
label: 'Coding with AI assistance',
type: 'category',
@@ -145,7 +159,6 @@ module.exports = {
{
label: 'AskLITs',
type: 'category',
- collapsed: false,
items: [
'asklits/asklits_overview',
'asklits/building',
@@ -162,7 +175,7 @@ module.exports = {
items: [
'style_guide/question_style_overview',
'style_guide/style_guide_respect',
- // 'style_guide/question_style_sensitivities',
+ 'style_guide/question_style_sensitivities',
'style_guide/style_guide_readability',
'style_guide/question_style_structure',
'style_guide/question_style_exit_screen',
@@ -196,6 +209,7 @@ module.exports = {
'coding_style/yaml_structure',
'coding_style/yaml_dynamic',
'coding_style/yaml_interface',
+ 'coding_style/yaml_lists',
'coding_style/yaml_translation',
'coding_style/defense',
'coding_style/accessibility'
@@ -255,8 +269,12 @@ module.exports = {
]
},
"components/ALToolbox/al_income",
+ "components/ALToolbox/Addup",
+ "components/ALToolbox/ThreePartsDate",
+ "components/ALToolbox/addenda",
"components/ALToolbox/business_days",
"components/ALToolbox/copy_button",
+ "components/ALToolbox/display_template",
"components/ALToolbox/misc",
"components/ALToolbox/save_input_data",
"components/ALToolbox/llms",
@@ -266,15 +284,13 @@ module.exports = {
'components/RateMyPDF/ratemypdf_overview',
'components/GithubFeedbackForm/githubfeedbackform_overview',
'components/InterviewStats/interviewstats_overview',
- 'components/ALDashboard/aldashboard_overview',
{
- type: 'autogenerated',
- dirName: 'interviews'
- },
- {
- label: 'ALDashboard modules',
- type: 'category',
- items: [
+ "type": "category",
+ "label": "ALDashboard",
+ "items": [
+ 'components/ALDashboard/aldashboard_overview',
+ 'interviews/ALDashboard/api_test',
+ 'interviews/ALDashboard/browse_interviews',
'components/ALDashboard/aldashboard',
'components/ALDashboard/create_package',
'components/ALDashboard/docx_wrangling',
@@ -282,7 +298,7 @@ module.exports = {
'components/ALDashboard/project_maintenance',
'components/ALDashboard/translation',
'components/ALDashboard/validate_docx',
- ],
+ ]
},
{
"label": "FormFyxer",
@@ -313,12 +329,9 @@ module.exports = {
label: 'Automated testing (ALKiln)',
type: 'category',
items: [
- // WIPs
'components/ALKiln/alkiln_intro',
- // Old
'components/ALKiln/alkiln_about',
'components/ALKiln/alkiln_advanced',
- // WIPs
'components/ALKiln/alkiln_setup',
'components/ALKiln/alkiln_writing_tests',
'components/ALKiln/alkiln_troubleshooting',
diff --git a/docs/assets/asklit/ma-eviction-answer-deadline.md b/static/assets/asklit/ma-eviction-answer-deadline.md
similarity index 100%
rename from docs/assets/asklit/ma-eviction-answer-deadline.md
rename to static/assets/asklit/ma-eviction-answer-deadline.md