Skip to content
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

DM-42023: Add documenteer technote add-author and sync-authors commands #205

Merged
merged 18 commits into from
Dec 12, 2023

Commits on Dec 5, 2023

  1. Add interface to authordb.yaml file

    The AuthorDb interface is based on one we wrote into
    lsst-sqre/lsst-templatebot-aide, and adapted to use requests.
    
    To improve on the latex encoding to unicode conversion, I'm adopting
    pylatexenc. This is a terrific package that replaces a lot of work that
    we'd used to to with pandoc or with fragile code of ours.
    jonathansick committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    1ef95b7 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Configuration menu
    Copy the full SHA
    b25912d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e6b43ed View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Add TechnoteTomlFile storage API

    This class allows us to open and edit a technote.toml file, using
    preserved formatting. This is made possible by the tomlkit package.
    
    Notes on type checking:
    
    - Make use of typing casts to help mypy sort through ambiguous types
    - Use properties on the TechnoteTomlFile that take care of the casting
    jonathansick committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    a6857e8 View commit details
    Browse the repository at this point in the history
  2. Add TechnoteAuthorService

    This service-layer class will power functionality in the documenteer
    CLI. Right now it supports adding an author by ID from the authordb.yaml
    file, and synchronizing author information in a technote.toml file.
    jonathansick committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    7ca1ac4 View commit details
    Browse the repository at this point in the history
  3. Add a documenteer click-based CLI

    This CLI will become the basis for future CL tooling from documenteer to
    help build and maintain documents.
    jonathansick committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    61c8e00 View commit details
    Browse the repository at this point in the history
  4. Add technote add-author CLI command

    This command adds and updates authors from authordb.yaml.
    jonathansick committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    9b0695e View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. Configuration menu
    Copy the full SHA
    2f5f2e1 View commit details
    Browse the repository at this point in the history
  2. Handle case where orcid is null

    TOML doesn't represent null values, so the appropriate action is to omit
    the orcid key entirely.
    jonathansick committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    1f704ea View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    95469cd View commit details
    Browse the repository at this point in the history
  4. Switch to an inline table for authors

    I can't get dotted keys to work, but an inline table is a good fit here.
    jonathansick committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    c7cfb42 View commit details
    Browse the repository at this point in the history
  5. Add a TechnoteMigrationService

    Right now this service migrates metadata.yaml content into technote.toml
    and updates index.rst to have a title, abstract, and References section.
    jonathansick committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    9d6479c View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. Add technote migrate CLI command

    This command, documenteer technote migrate, should speed up the process
    of migrating from an original metadata.yaml-based technote to the new
    style. Using data from metadata.yaml, it sets up a new technote.toml
    file. It also migrates index.rst to the new requirements for title,
    abstract and bibliography. Finally, it also adds/overwrites key
    infrastructure files (ci.yaml, tox.ini, Makefile, etc). This migration
    command should accomplish 90% of the work for authors to migrate their
    technotes.
    jonathansick committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    884fc39 View commit details
    Browse the repository at this point in the history
  2. Option to delete old files after migration

    Add a documenteer technote migrate -D option file as well as an
    interactive prompt to delete the old metadata.yaml and .travis.yml files
    after a technote migration.
    
    People can always use git history to reset this history if run
    mistakenl.
    jonathansick committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    6767c00 View commit details
    Browse the repository at this point in the history
  3. Add add-author and sync-authors commands

    Add these to the Makefile and tox.ini used during the migration.
    jonathansick committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    6bc9e60 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3872774 View commit details
    Browse the repository at this point in the history
  5. Use template files in migration documentation

    This reduces the chances of errors
    jonathansick committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    2adcb94 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    be71f8c View commit details
    Browse the repository at this point in the history