manubot / template

Under development (not ready for use): manuscript template
2 stars 0 forks source link

A simplified & minimal template for manuscripts #1

Open dhimmel opened 4 years ago

dhimmel commented 4 years ago

This repository is an attempt to prototype a simpler repository that contains a Manubot manuscript. Compared to rootstock, it aims to:

CC @agitter @cgreene @slochower @vincerubinetti. Any thoughts will be helpful. It's not a complete draft yet, and I'm not sure of the timeline. But as we have ideas, we can add them.

agitter commented 4 years ago

This is a great idea and would make Manubot even more accessible.

Will the template still have the assets, plugins, and themes files from the build directory, or would those be hidden as well?

I haven't looked closely at your GitHub actions experiments yet. I expect that could greatly simplify the setup by removing all the CI configuration steps. Do we envision that eventually a user could create a new manuscript entirely from a web browser?

dhimmel commented 4 years ago

Will the template still have the assets, plugins, and themes files from the build directory, or would those be hidden as well?

Those would be moved to the manubot python package. If not overridden in config.yaml or perhaps by a specific path, the files that ship as part of the python package would be used. So you only need to add those files to your repo if you're modifying them.

Do we envision that eventually a user could create a new manuscript entirely from a web browser?

Yes, the goal is that you'd be able to copy the template and your repository would build immediately without any additional steps required.

agitter commented 4 years ago

Very cool. That workflow seems ideal. I like hiding most of these assets and files until a user decides to modify them.

I expect that syncing with updates to the upstream template will be possible but challenging, or at least require more technical expertise. Even if the template-derived manuscript can't be updated, this is still a very valuable direction.

dhimmel commented 4 years ago

I expect that syncing with updates to the upstream template will be possible but challenging

Yes, that will be the main downside compared to rootstock.

vincerubinetti commented 4 years ago

For what it's worth, here was my original proposal to Daniel about this "manubot refactor" we're talking about : https://docs.google.com/document/d/15xCikkNvVyiz3-MZnPMkUEoQK6QzrMNmD9DNCBNohiw/edit?usp=sharing

This template repo has become essentially an outline like this doc was. As you'll see there's some differences, but the main concept is the same.

dhimmel commented 4 years ago

Roadmap

I've been thinking about when's the best point to try to create manubot/template and switch to it from manubot/rootstock as the default way to create new manuscripts.

Here's a roadmap that I think we can do before manubot/template that will make the eventual transition easier:

Unrelated: jotting down an interesting project, mdBook, with a config file that we should look at for inspiration.

slochower commented 4 years ago

I'm basically in the same boat as @agitter. I think increasing the accessibility is great although I haven't been closely following the updates for GitHub actions. Does this tie us even more closely to GitHub though? I've run into cases where companies aren't allowed to, say, make significant use of GitHub but do have internal git repositories (mostly via GitLab) hosted internally. Would this sort of transition make it more difficult for someone to setup Manubot CI on a different platform?

dhimmel commented 4 years ago

Would this sort of transition make it more difficult for someone to setup Manubot CI on a different platform?

If we do it right, perhaps it could make it easier. One could imagine having multiple template repositories like manubot/github-template, manubot/gitlab-template, manubot/local-template. The differences between the templates would be the continuous integration commands. The local template might come with just a bash script to build the manuscript.

vincerubinetti commented 3 years ago

Clearing out my google drive and deleting the google doc I linked above. Here it is for posterity:


Manubot - an ecosystem, a set of tools and a prescribed workflow and methodology

goals/axioms:

  1. the absolute biggest barrier to entry and adoption is the complexity of use and learning, therefore our number one priority should be making it easy to use and understand, which involves simplifying things as much as possible (without sacrificing too much configurability)
  2. new users should be able to look at the file structure and file names and instantly know how manubot works and what each file does/is for
  3. users should not have to hunt very hard to find information. docs should be extremely well organized, readmes should be combined into one and defer to full docs for all non-essential info
  4. users shouldn't have to learn or work with 10 different file formats, even if they are easy and/or well-known already. for anything that requires a json-like structure, we should support both yaml and json
  5. it should be possible for a user to jump right in without configuring anything, and get a pre-prescribed format/layout/behavior that we've set up for them
  6. technologies used should be very popular and well known, so people are more likely to be familiar with it, and can more easily google for help if something goes wrong or if they need something special
  7. user should be able to compile paper locally with no /config file at all. if anything is missing, like templates, default ones should be injected by the manubot engine. the bare minimum would be a content directory with some md files and metadata.yml