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

Add development docs #2742

Merged
merged 8 commits into from
May 26, 2022
Merged

Add development docs #2742

merged 8 commits into from
May 26, 2022

Conversation

djmitche
Copy link
Collaborator

@djmitche djmitche commented Mar 5, 2022

This moves some development-related documentation into the repo, where it can be more easily co-versioned with the source.

It currently uses Jekyll via GitHub pages. You can see the result here. The theming could certainly be better, but I'm mostly focused on content right now. And, we could certainly move to use Hugo if y'all would prefer, but again: focused on content.

This just gets the docs in here. There's lots to be done, and I'll file issues for them if this gets merged:

  • contributing docs are repetitive and outdated and could probably be slimmed down to one or two files
  • we need some kind of RFC process. I had good luck with this one so I'd propose something similar. Nothing too heavy-weight, but some key milestones to know when a proposal can be acted on. The existing RFCs need also sorting into "abandoned" and "implemented". And I think "plans" is outdated enough to be removed.
  • documenting the task data model (based on this)

Fixes #2741.

@djmitche djmitche requested review from tbabej and lauft March 5, 2022 23:50
@tbabej
Copy link
Member

tbabej commented Mar 14, 2022

I think moving the content of the docs closer to the code is definitely the way to go - it will allows us to ensure correctness as the development progresses. I am not sure however, that we need to build and host the docs from this repo - perhaps we could simply check out the docs/ subfolder of taskwarrior in the tw.org repo as a submodule?

tags Outdated
v2.5.0.beta2
v2.5.0.beta3
v2.5.1.beta1

Copy link
Member

Choose a reason for hiding this comment

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

Unclear what this file is for, but I suppose we should trash it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Oops, yes, that was a git add . mistake!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

(now removed)

@djmitche
Copy link
Collaborator Author

The submodule idea is an interesting one, but then blocks this project on the markdown rewrite -- which is precisely the blockage I'm trying to avoid. It also depends on the deployment frequency of tw.org, which would have to be frequent or somehow triggered on a commit to this repository.

Copy link
Member

@lauft lauft left a comment

Choose a reason for hiding this comment

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

General comments:

  • Keep design/developer documents as simple Markdown files
  • Format "one sentence, one line" (leave linebreaks to the Markdown renderer)
  • Rename _index.md to README.md or <folder-name>.md or remove
  • Move images to common directory?


# Building the Stable Version

The master always represents the more recently released version, and should be
Copy link
Member

Choose a reason for hiding this comment

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

master has become stable


# Building the Dev Branch

The dev branch is always the highest numbered branch, in this example, `2.6.0`.
Copy link
Member

Choose a reason for hiding this comment

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

There are no more version branches, only develop for development

$ ./problems # Find errors in all.log


# Submitting a Patch
Copy link
Member

Choose a reason for hiding this comment

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

Should be changed to pull-requests

- No cuddled braces
- Class names are capitalized, variable names are not

We target Python 2.7 so that our test suite runs on the broadest set of
Copy link
Member

Choose a reason for hiding this comment

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

Guess that is Python 3 now...
Maybe state even at least Python 3.9 (according to https://python-release-cycle.glitch.me/)

title: "Taskwarrior - What's next?"
---

# Design
Copy link
Member

Choose a reason for hiding this comment

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

Add documents present in this directory, remove empty sections

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Oops, I should have deleted this (fixed)

title: Branching Model
---

Software development typically requires a standardized branching model, to
Copy link
Member

Choose a reason for hiding this comment

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

This document is somehow too general (mentioning 'hidden' topic branches on the developer's machine), also there is some overlap with other documents (build.md, development.md)

title: How to become an Open Source Contributor
---

Welcome, potential new Open Source contributor! This is a guide to show you
Copy link
Member

Choose a reason for hiding this comment

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

In general this document needs to be adapted to the new branching model (only stable/develop branches)


Here are the standard attributes that may comprise a task:

<table>
Copy link
Member

Choose a reason for hiding this comment

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

Reformat to Markdown table?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I did a few of these, where the Markdown table could reasonably replicate the HTML.

But on some of the never-finished RFCs with complicated tables it just wasn't worth the effort, so I left the tables as-is.

Copy link
Collaborator Author

@djmitche djmitche Apr 21, 2022

Choose a reason for hiding this comment

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

(in the end this was just the "plans" RFC, which is from 2016 and maybe should just be rm -rf'd?)

Copy link
Member

Choose a reason for hiding this comment

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

Deleting plans.md if it is outdated is fine with me. But as I am not directly involved in Taskwarrior development, I would delegate the final decision to @tbabej 😃

@djmitche
Copy link
Collaborator Author

Thanks for the review!

Keep design/developer documents as simple Markdown files

I'm not sure what you mean here. All of the docs files added in this PR are Markdown.

Format "one sentence, one line" (leave linebreaks to the Markdown renderer)

Sounds good -- I'll make that change and push it shortly.

Rename _index.md to README.md or .md or remove

This doesn't work with Jekyll. Would you prefer to not use GitHub pages?

Move images to common directory?

If you hadn't included ? I'd just do it on your say-so. But, these images "belong with" the docs that link to them, so it seems reasonable to put them in the same directory. I think a big reason to put images in "images" is that we used to have to configure Apache with different settings for those files..

To the more editorial comments above:

As I mentioned in the PR description, the plan here was to just get the docs moved -- it needs lots of work after that! I'd like to avoid doing so in this PR for a few reasons:

  • editing the documentation is necessarily a subjective exercise and I would expect disagreement with my opinions, leading to a lot of discussion;
  • getting these docs landed here is important to me in unblocking further documentation work that is orthogonal to editing what's here; and
  • ideally we can parallelize the followups, across multiple people or at least multiple PRs (so the uncontroversial stuff can land first).

I mentioned a few follow-ups in the PR description, and you've identified a few points included in the first ("contributing docs are repetitive and outdated") which I'd like to defer to that point.

@lauft
Copy link
Member

lauft commented Apr 22, 2022

Hi @djmitche

Keep design/developer documents as simple Markdown files
I'm not sure what you mean here. All of the docs files added in this PR are Markdown.
Rename _index.md to README.md or .md or remove
This doesn't work with Jekyll. Would you prefer to not use GitHub pages?

I would prefer to keep the developer documentation as simple and un-fancy as possible, i.e. just Markdown documents only, no web hosting. This would keep the Taskwarrior repository free of any 'side use' ( = hosting a web site). The Markdown documents can be linked, and IMHO browsing them on GitHub (like any other code file) is not that bad/cumbersome that it would require more CSS/etc. to increase user experience. However, this is my personal, "what I would do if Taskwarrior was my main project" opinion, so feel free to override it if you see benefits from any other decision... 😉

Move images to common directory?
If you hadn't included ? I'd just do it on your say-so. But, these images "belong with" the docs that link to them, so it seems reasonable to put them in the same directory. I think a big reason to put images in "images" is that we used to have to configure Apache with different settings for those files..

Fair point. There are not may images, so I am fine with this decision.

As I mentioned in the PR description, the plan here was to just get the docs moved -- it needs lots of work after that! I'd like to avoid doing so in this PR for a few reasons...
I mentioned a few follow-ups in the PR description, and you've identified a few points included in the first ("contributing docs are repetitive and outdated") which I'd like to defer to that point.

I definitely agree with that. Progressing in small steps is better than working on that big one forever.


- Help [triage](/docs/triage) the issues list.

- Join the IRC channel \#taskwarrior on freenode.net and help answer some questions.
Copy link
Member

Choose a reason for hiding this comment

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

freenode is dead, long live libera.chat (👉🏻 https://web.libera.chat/#taskwarrior)


- Join the IRC channel \#taskwarrior on freenode.net and help answer some questions.

- Join either the [developer-mailinglist](https://groups.google.com/forum/#!forum/taskwarrior-dev) or [user-mailinglist](https://groups.google.com/forum/#!forum/taskwarrior-user) (or both) and participate.
Copy link
Member

Choose a reason for hiding this comment

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

@tbabej I guess we should close down these and direct to our Discord (👉🏻 https://discord.gg/eRXEHk8w62) here...
Also, the main README mentiones Reddit, Twitter, and GitHub Discussions. Don't know, whether those are worth mentioning here.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm usually in the irc channel on libera.chat and I know there are several others I've seen / talked to there and which lurk or send a message, sometimes with days latency but responses occur mostly. I don't know much about the discord population, but we could keep mention of both irc and discord


Here are the standard attributes that may comprise a task:

<table>
Copy link
Member

Choose a reason for hiding this comment

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

Deleting plans.md if it is outdated is fine with me. But as I am not directly involved in Taskwarrior development, I would delegate the final decision to @tbabej 😃

@djmitche djmitche requested a review from tbabej April 22, 2022 22:10
@djmitche
Copy link
Collaborator Author

I'll leave the call on GitHub Pages to @tbabej then. I agree it's not critical, and linking to GitHub /blob/ renderings is adequate. If we choose to not use GitHub pages then I'll rename to README.md and verify that all of the links work.

@tbabej
Copy link
Member

tbabej commented May 26, 2022

IMHO this is a great step forward to what we have right now, which is an absence of the development docs in this repo, hopefully enabling us to keep the docs more in sync with the changes. In the future I'd like to make the website repo use this as an authoritative source, but that's future work.

Thanks @lauft for all the suggestions 🙂

@tbabej tbabej merged commit 04f4d3a into GothenburgBitFactory:develop May 26, 2022
@djmitche
Copy link
Collaborator Author

@tbabej did you want to set up github pages for this? Or, should I make a PR to rename indexes to README.md? Or just leave it as-is?

@tbabej
Copy link
Member

tbabej commented May 26, 2022

Yep, I'll setup github pages in the interim, right now I am trying to figure out the security audit permissions problem 🤔

@djmitche
Copy link
Collaborator Author

Awesome. https://stackoverflow.com/questions/70435286/resource-not-accessible-by-integration-on-github-post-repos-owner-repo-ac looks like it may be relevant there. Don't spend too long on it -- feel free to assign an issue to me instead if you'd prefer. I had hoped that merging some dependabot PRs would magically "fix" it but that's not realistic :)

@ryneeverett ryneeverett mentioned this pull request Jan 11, 2023
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move development-focused documentation into this repo
4 participants