Skip to content

Add script for regenerating the list of repositories #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 4 commits into
base: source
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"

[compat]
Expand Down
194 changes: 174 additions & 20 deletions src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,107 @@ of [Julia programming language](https://julialang.org/) ecosystem.
to <https://docs.julialang.org/>

JuliaDocs is the home for the following packages and repositories:

* [Documenter -- Package to combine docstrings with Markdown pages for generating documentation](https://github.com/JuliaDocs/Documenter.jl)
* [DocumenterCitations -- Support for BibTeX citations in Documenter](https://github.com/JuliaDocs/DocumenterCitations.jl)
* [DocumenterMarkdown -- Documenter's Markdown / MkDocs backend](https://github.com/JuliaDocs/DocumenterMarkdown.jl)
* [DocumenterTools -- Extra tools for setting up Documenter](https://github.com/JuliaDocs/DocumenterTools.jl)
* [DocStringExtensions -- Programmatic ways to generate parts of docstrings](https://github.com/JuliaDocs/DocStringExtensions.jl)
* [Highlights -- A code highlighter for the Julia language, written in Julia](https://github.com/JuliaDocs/Highlights.jl)
* [Julia cheat sheet](https://cheatsheet.juliadocs.org/) ([repository](https://github.com/JuliaDocs/Julia-Cheat-Sheet))
* [ANSIColoredPrinters.jl -- ANSI escape code translator](https://github.com/JuliaDocs/ANSIColoredPrinters.jl)
* [Changelog.jl -- A Julia package for managing changelogs](https://github.com/JuliaDocs/Changelog.jl)
* [CodeEvaluation.jl -- A small utility package to emulate executing Julia code in a clean `Main` module.](https://github.com/JuliaDocs/CodeEvaluation.jl)
* [DemoCards.jl -- Let's focus on writing demos](https://github.com/JuliaDocs/DemoCards.jl)
* [DocInventories.jl -- Read and write documentation inventory files such as the objects.inv file generated by Documenter and Sphinx](https://github.com/JuliaDocs/DocInventories.jl)
* [DocStringExtensions.jl -- Extensions for Julia's docsystem.](https://github.com/JuliaDocs/DocStringExtensions.jl)
* [DocumentationGenerator.jl -- ](https://github.com/JuliaDocs/DocumentationGenerator.jl)
* [DocumentationGeneratorRegistry -- ](https://github.com/JuliaDocs/DocumentationGeneratorRegistry)
* [Documenter.jl -- A documentation generator for Julia.](https://github.com/JuliaDocs/Documenter.jl)
* [DocumenterCitations.jl -- DocumenterCitations.jl uses Bibliography.jl to add support for BibTeX citations and references in documentation pages generated by Documenter.jl.](https://github.com/JuliaDocs/DocumenterCitations.jl)
* [DocumenterInterLinks.jl -- A plugin for Documenter.jl that enables linking between projects](https://github.com/JuliaDocs/DocumenterInterLinks.jl)
* [DocumenterInventoryWritingBackport.jl -- Backport of inventory writing for Documenter 0.25-1.2](https://github.com/JuliaDocs/DocumenterInventoryWritingBackport.jl)
* [DocumenterMarkdown.jl -- Documenter's Markdown / MkDocs backend](https://github.com/JuliaDocs/DocumenterMarkdown.jl)
* [DocumenterMermaid.jl -- Mermaid.js diagram intergration for Documenter.jl](https://github.com/JuliaDocs/DocumenterMermaid.jl)
* [DocumenterTools.jl -- Extra tools for setting up Documenter](https://github.com/JuliaDocs/DocumenterTools.jl)
* [Highlights.jl -- A source code highlighter for Julia.](https://github.com/JuliaDocs/Highlights.jl)
* [IOCapture.jl -- Capturing standard output and error streams in Julia.](https://github.com/JuliaDocs/IOCapture.jl)
* [Julia-Cheat-Sheet -- Julia Cheat Sheet](https://github.com/JuliaDocs/Julia-Cheat-Sheet)
* [LiveServer.jl -- Simple development server with live-reload capability for Julia.](https://github.com/JuliaDocs/LiveServer.jl)
* [MarkdownAST.jl -- Abstract syntax tree representation of Markdown documents in Julia](https://github.com/JuliaDocs/MarkdownAST.jl)
* [ModuleDocstrings.jl -- ](https://github.com/JuliaDocs/ModuleDocstrings.jl)

## Packages

```@eval
import Main: PackageDefinition, package_table_markdown
[
PackageDefinition(
"ANSIColoredPrinters", "https://github.com/JuliaDocs/ANSIColoredPrinters.jl",
[
"README" => "https://github.com/JuliaDocs/ANSIColoredPrinters.jl",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has docs, url just needs to be set as homepage URL in the github metadata

],
[
"https://codecov.io/gh/JuliaDocs/ANSIColoredPrinters.jl/branch/main/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/ANSIColoredPrinters.jl",
]
),
PackageDefinition(
"Changelog", "https://github.com/JuliaDocs/Changelog.jl",
[
"README" => "https://github.com/JuliaDocs/Changelog.jl",
],
[
"https://codecov.io/gh/JuliaDocs/Changelog.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/Changelog.jl",
]
),
PackageDefinition(
"CodeEvaluation", "https://github.com/JuliaDocs/CodeEvaluation.jl",
[
"README" => "https://github.com/JuliaDocs/CodeEvaluation.jl",
],
[
"https://codecov.io/gh/JuliaDocs/CodeEvaluation.jl/branch/main/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/CodeEvaluation.jl",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currently invalid but would become valid if someone merges JuliaDocs/CodeEvaluation.jl#5

]
),
PackageDefinition(
"DemoCards", "https://github.com/JuliaDocs/DemoCards.jl",
[
"README" => "https://github.com/JuliaDocs/DemoCards.jl",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has docs, url just needs to be set as homepage URL in the github metadata

],
[
"https://codecov.io/gh/JuliaDocs/DemoCards.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DemoCards.jl",
]
),
PackageDefinition(
"DocInventories", "https://github.com/JuliaDocs/DocInventories.jl",
[
"stable" => "https://juliadocs.org/DocInventories.jl/stable/",
"dev" => "https://juliadocs.org/DocInventories.jl/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/DocInventories.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocInventories.jl",
]
),
PackageDefinition(
"DocStringExtensions", "https://github.com/JuliaDocs/DocStringExtensions.jl",
[
"stable" => "https://DocStringExtensions.juliadocs.org/latest/stable/",
"dev" => "https://DocStringExtensions.juliadocs.org/latest/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/DocStringExtensions.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocStringExtensions.jl",
]
),
PackageDefinition(
"DocumentationGenerator", "https://github.com/JuliaDocs/DocumentationGenerator.jl",
[
"README" => "https://github.com/JuliaDocs/DocumentationGenerator.jl",
],
[
"https://codecov.io/gh/JuliaDocs/DocumentationGenerator.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumentationGenerator.jl",
]
),
PackageDefinition(
"DocumentationGeneratorRegistry", "https://github.com/JuliaDocs/DocumentationGeneratorRegistry",
[
"README" => "https://github.com/JuliaDocs/DocumentationGeneratorRegistry",
Copy link
Contributor Author

@fingolfin fingolfin Mar 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this repo be omitted from the list?

],
[
"https://codecov.io/gh/JuliaDocs/DocumentationGeneratorRegistry/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumentationGeneratorRegistry",
]
),
PackageDefinition(
"Documenter", "https://github.com/JuliaDocs/Documenter.jl",
[
Expand All @@ -36,50 +123,117 @@ PackageDefinition(
PackageDefinition(
"DocumenterCitations", "https://github.com/JuliaDocs/DocumenterCitations.jl",
[
"stable" => "https://juliadocs.org/DocumenterCitations.jl/stable/",
"dev" => "https://juliadocs.org/DocumenterCitations.jl/dev/",
"stable" => "https://juliadocs.github.io/DocumenterCitations.jl/stable/",
"dev" => "https://juliadocs.github.io/DocumenterCitations.jl/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/DocumenterCitations.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumenterCitations.jl",
]
),
PackageDefinition(
"DocumenterInterLinks", "https://github.com/JuliaDocs/DocumenterInterLinks.jl",
[
"stable" => "http://juliadocs.org/DocumenterInterLinks.jl/stable/",
"dev" => "http://juliadocs.org/DocumenterInterLinks.jl/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/DocumenterInterLinks.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumenterInterLinks.jl",
]
),
PackageDefinition(
"DocumenterInventoryWritingBackport", "https://github.com/JuliaDocs/DocumenterInventoryWritingBackport.jl",
[
"README" => "https://github.com/JuliaDocs/DocumenterInventoryWritingBackport.jl",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repo maybe should not be listed?

],
[
"https://codecov.io/gh/JuliaDocs/DocumenterInventoryWritingBackport.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumenterInventoryWritingBackport.jl",
]
),
PackageDefinition(
"DocumenterMarkdown", "https://github.com/JuliaDocs/DocumenterMarkdown.jl",
[
"README" => "https://github.com/JuliaDocs/DocumenterMarkdown.jl#documentermarkdown",
"stable" => "https://DocumenterMarkdown.juliadocs.org/stable/",
"dev" => "https://DocumenterMarkdown.juliadocs.org/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/DocumenterMarkdown.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumenterMarkdown.jl",
]
),
PackageDefinition(
"DocumenterTools", "https://github.com/JuliaDocs/DocumenterTools.jl",
"DocumenterMermaid", "https://github.com/JuliaDocs/DocumenterMermaid.jl",
[
"README" => "https://github.com/JuliaDocs/DocumenterTools.jl#documentertools",
"stable" => "https://juliadocs.org/DocumenterMermaid.jl/stable/",
"dev" => "https://juliadocs.org/DocumenterMermaid.jl/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/DocumenterTools.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumenterTools.jl",
"https://codecov.io/gh/JuliaDocs/DocumenterMermaid.jl/branch/main/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumenterMermaid.jl",
]
),
PackageDefinition(
"DocStringExtensions", "https://github.com/JuliaDocs/DocStringExtensions.jl",
"DocumenterTools", "https://github.com/JuliaDocs/DocumenterTools.jl",
[
"stable" => "https://DocStringExtensions.juliadocs.org/stable/",
"dev" => "https://DocStringExtensions.juliadocs.org/dev/",
"README" => "https://github.com/JuliaDocs/DocumenterTools.jl",
],
[
"https://codecov.io/gh/JuliaDocs/DocStringExtensions.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocStringExtensions.jl",
"https://codecov.io/gh/JuliaDocs/DocumenterTools.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/DocumenterTools.jl",
]
),
PackageDefinition(
"Highlights", "https://github.com/JuliaDocs/Highlights.jl",
[
"stable" => "https://Highlights.juliadocs.org/stable/",
"dev" => "https://Highlights.juliadocs.org/dev/",
"stable" => "https://highlights.juliadocs.org/stable/",
"dev" => "https://highlights.juliadocs.org/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/Highlights.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/Highlights.jl",
]
),
PackageDefinition(
"IOCapture", "https://github.com/JuliaDocs/IOCapture.jl",
[
"README" => "https://github.com/JuliaDocs/IOCapture.jl",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repo has docs but someone would need to edit its metadata to set https://docs.juliahub.com/General/IOCapture/ as the "homepage"

Similar for several of the other packages. Then this can be regenerated

],
[
"https://codecov.io/gh/JuliaDocs/IOCapture.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/IOCapture.jl",
]
),
PackageDefinition(
"Julia-Cheat-Sheet", "https://github.com/JuliaDocs/Julia-Cheat-Sheet",
[
"stable" => "https://cheatsheet.juliadocs.org/stable/",
"dev" => "https://cheatsheet.juliadocs.org/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/Julia-Cheat-Sheet/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/Julia-Cheat-Sheet",
]
),
PackageDefinition(
"LiveServer", "https://github.com/JuliaDocs/LiveServer.jl",
[
"README" => "https://github.com/JuliaDocs/LiveServer.jl",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has docs, url just needs to be set as homepage URL in the github metadata

],
[
"https://codecov.io/gh/JuliaDocs/LiveServer.jl/branch/master/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/LiveServer.jl",
]
),
PackageDefinition(
"MarkdownAST", "https://github.com/JuliaDocs/MarkdownAST.jl",
[
"stable" => "https://juliadocs.github.io/MarkdownAST.jl/stable/",
"dev" => "https://juliadocs.github.io/MarkdownAST.jl/dev/",
],
[
"https://codecov.io/gh/JuliaDocs/MarkdownAST.jl/branch/main/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/MarkdownAST.jl",
]
),
PackageDefinition(
"ModuleDocstrings", "https://github.com/JuliaDocs/ModuleDocstrings.jl",
[
"README" => "https://github.com/JuliaDocs/ModuleDocstrings.jl",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has docs, url just needs to be set as homepage URL in the github metadata

],
[
"https://codecov.io/gh/JuliaDocs/ModuleDocstrings.jl/branch/main/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/ModuleDocstrings.jl",
]
),
] |> package_table_markdown
```
87 changes: 87 additions & 0 deletions update.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
using JSON

data = read(`gh repo list JuliaDocs --json "isArchived,description,homepageUrl,name,url,defaultBranchRef"`, String)

repos = JSON.parse(data)

# drop archive repositories
repos = filter!(x -> !x["isArchived"], repos)

repos = filter!(x -> x["name"] != "juliadocs.github.io", repos)

sort!(repos, by = x -> x["name"])

print("""
# JuliaDocs

This is the landing page of the [JuliaDocs GitHub organisation](https://github.com/JuliaDocs/).
JuliaDocs is an umbrella organization for documentation-related packages and repositories
of [Julia programming language](https://julialang.org/) ecosystem.

!!! note
If you are looking for the documentation for the core Julia language, you should head over
to <https://docs.julialang.org/>

JuliaDocs is the home for the following packages and repositories:
""")

for r in repos
name = r["name"]
url = r["url"]
desc = r["description"]
println("* [$name -- $desc]($url)")
end

# TODO: should we linke to the homepage URL, if any, and provide the
# repository link separately, like it was done for the cheat sheet:
#
# * [Julia cheat sheet](https://cheatsheet.juliadocs.org/) ([repository](https://github.com/JuliaDocs/Julia-Cheat-Sheet))

print("""

## Packages

```@eval
import Main: PackageDefinition, package_table_markdown
[
""")
for r in repos
name = r["name"]
name_no_suffix = endswith(name, ".jl") ? name[1:end-3] : name
url = r["url"]
homepageUrl = r["homepageUrl"]
desc = r["description"]
branch = r["defaultBranchRef"]["name"]

print("""
PackageDefinition(
"$name_no_suffix", "$url",
[
""")
if isempty(homepageUrl)
print("""
"README" => "https://github.com/JuliaDocs/$name",
""")
else
# HACK / workaround for Highlights.jl
if endswith(homepageUrl, "/stable")
homepageUrl = replace(homepageUrl, "/stable" => "")
end
print("""
"stable" => "$(joinpath(homepageUrl,"stable/"))",
"dev" => "$(joinpath(homepageUrl,"dev/"))",
""")
end
print("""
],
[
"https://codecov.io/gh/JuliaDocs/$name/branch/$branch/graph/badge.svg" => "https://codecov.io/gh/JuliaDocs/$name",
]
),
""")
end

print("""
] |> package_table_markdown
```
""")