Giter VIP home page Giter VIP logo

documentationgeneratorregistry's Issues

TOML format design

Current design:

[packages]
e5e0dc1b-0480-54bc-9374-aad01c23163d = { name = "Juno", method = "hosted", location = "https://docs.junolab.org/latest" }

I feel like I've become a nearly full time TOML file format designer, but here goes. The [packages] header seems unnecessary. It exists in the registry Registry.toml file because there's a bit of other metadata you need to know about a registry (originally they were in separate files, but I decided to put the package map in the same file as the registry metadata). I also think the stanza structure could be a bit different. Here are some sketches.

Here's a version using the UUID as a unique key:

[e5e0dc1b-0480-54bc-9374-aad01c23163d]
name = "Juno" # do we need this? I guess it's good to know in any case
method = "hosted"
location = "https://docs.junolab.org/latest"

[fcda24af-3677-4fa2-84a6-1f1efb146dee]
name = "SomePackage"
method = "git-repo"
location = "https://github.com/SomeOrg/SomePackage.jl.git"

If we want to support registering multiple hosting methods (do we?) then we could allow an array of stanzas per UUID, e.g.:

[[e5e0dc1b-0480-54bc-9374-aad01c23163d]]
name = "Juno"
method = "hosted"
location = "https://docs.junolab.org/latest"

[[e5e0dc1b-0480-54bc-9374-aad01c23163d]]
name = "Juno"
method = "git-repo"
location = "https://github.com/JunoLab/Juno.jl.git"

If we're going to allow multiple entries, it might be more readable to use the name as the key like we do in manifest files, e.g.:

[[Juno]]
uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d"
method = "hosted"
location = "https://docs.junolab.org/latest"

[[Juno]]
uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d"
method = "git-repo"
location = "https://github.com/JunoLab/Juno.jl.git"

[[SomePackage]]
uuid = "cda24af-3677-4fa2-84a6-1f1efb146dee"
method = "git-repo"
location = "https://github.com/SomeOrg/SomePackage.jl.git"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.