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

Specification implementation examples #15

Open
chrissimpkins opened this issue Mar 1, 2016 · 28 comments
Open

Specification implementation examples #15

chrissimpkins opened this issue Mar 1, 2016 · 28 comments
Labels
discussion Discussion relevant to the repo help wanted Extra attention is needed pinned status: waiting for feedback

Comments

@chrissimpkins
Copy link
Collaborator

Perhaps as EXAMPLES.md and EXAMPLES.rst. Yeah I hate rst too but there is a PyPI cohort out there who might find it useful...

@chrissimpkins chrissimpkins changed the title Create an contributors table/gallery Markdown examples page Create an contributors table/gallery Markdown / reStructuredText examples page Mar 1, 2016
@chrissimpkins chrissimpkins changed the title Create an contributors table/gallery Markdown / reStructuredText examples page Create contributors table/gallery Markdown / reStructuredText examples page(s) Mar 1, 2016
@kentcdodds
Copy link
Collaborator

👍 Maybe we should put it in a directory then: examples/markdown.md and examples/reStructuredText.rst

@chrissimpkins
Copy link
Collaborator Author

I likely won't get to a PR before this evening but I'm happy to submit it. If someone else is motivated, please feel free to have at it.

@chrissimpkins
Copy link
Collaborator Author

Wow. The pandoc conversion from Markdown to rst for a six wide table:

+--------+--------+--------+--------+--------+--------+--------+
| `|Kent | `|Divj | `|Ben  | `|Jame | `|Jero | `|Chri |
| C.     | ot     | Briggs | s      | en     | s      |
| Dodds| | Singh| | |\ Ben | Monger | Engels | Simpki |
| \ Kent | \ Divj | Briggs | |\ Jam | |\ Jer | ns|\ C |
| C.     | ot     |  <http | es     | oen    | hris   |
| Dodds  | Singh  | ://ben | Monger | Engels | Simpki |
| <http: | <http: | eb.inf |  <http |  <http | ns <ht |
| //kent | //boga | o>`__  | ://git | s://gi | tp://g |
| cdodds | s04.gi | `📖 <ht | hub.co | thub.c | ithub. |
| .com>` | thub.i | tps:// | m/Jame | om/jfm | com/ch |
| __     | o>`__  | github | skmong | engels | rissim |
| `📖 <ht | `📖 <ht | .com/k | er>`__ | >`__   | pkins> |
| tps:// | tps:// | entcdo | `📖 <ht | `📖 <ht | `__    |
| github | github | dds/al | tps:// | tps:// | `📖 <ht |
| .com/k | .com/k | l-cont | github | github | tps:// |
| entcdo | entcdo | ributo | .com/k | .com/k | github |
| dds/al | dds/al | rs/com | entcdo | entcdo | .com/k |
| l-cont | l-cont | mits?a | dds/al | dds/al | entcdo |
| ributo | ributo | uthor= | l-cont | l-cont | dds/al |
| rs/com | rs/com | ben-eb | ributo | ributo | l-cont |
| mits?a | mits?a | >`__   | rs/com | rs/com | ributo |
| uthor= | uthor= |        | mits?a | mits?a | rs/com |
| kentcd | bogas0 |        | uthor= | uthor= | mits?a |
| odds>` | 4>`__  |        | Jamesk | jfmeng | uthor= |
| __     |        |        | monger | els>`_ | chriss |
| 👀 ❓    |        |        | >`__   | _      | impkin |
|        |        |        |        |        | s>`__  |
+========+========+========+========+========+========+========+
| `|Kent | `|Divj | `|Ben  | `|Jame | `|Jero | `|Chri |
| C.     | ot     | Briggs | s      | en     | s      |
| Dodds| | Singh| | |\ Ben | Monger | Engels | Simpki |
| \ Kent | \ Divj | Briggs | |\ Jam | |\ Jer | ns|\ C |
| C.     | ot     |  <http | es     | oen    | hris   |
| Dodds  | Singh  | ://ben | Monger | Engels | Simpki |
| <http: | <http: | eb.inf |  <http |  <http | ns <ht |
| //kent | //boga | o>`__  | ://git | s://gi | tp://g |
| cdodds | s04.gi | `📖 <ht | hub.co | thub.c | ithub. |
| .com>` | thub.i | tps:// | m/Jame | om/jfm | com/ch |
| __     | o>`__  | github | skmong | engels | rissim |
| `📖 <ht | `📖 <ht | .com/k | er>`__ | >`__   | pkins> |
| tps:// | tps:// | entcdo | `📖 <ht | `📖 <ht | `__    |
| github | github | dds/al | tps:// | tps:// | `📖 <ht |
| .com/k | .com/k | l-cont | github | github | tps:// |
| entcdo | entcdo | ributo | .com/k | .com/k | github |
| dds/al | dds/al | rs/com | entcdo | entcdo | .com/k |
| l-cont | l-cont | mits?a | dds/al | dds/al | entcdo |
| ributo | ributo | uthor= | l-cont | l-cont | dds/al |
| rs/com | rs/com | ben-eb | ributo | ributo | l-cont |
| mits?a | mits?a | >`__   | rs/com | rs/com | ributo |
| uthor= | uthor= |        | mits?a | mits?a | rs/com |
| kentcd | bogas0 |        | uthor= | uthor= | mits?a |
| odds>` | 4>`__  |        | Jamesk | jfmeng | uthor= |
| __     |        |        | monger | els>`_ | chriss |
| 👀 ❓    |        |        | >`__   | _      | impkin |
|        |        |        |        |        | s>`__  |
+--------+--------+--------+--------+--------+--------+--------+

I'm thinking that we encourage use of Markdown with automated conversion to rst rather than providing rst templates...

@kentcdodds
Copy link
Collaborator

Lol, that's hilarious. I agree :-)

@chrissimpkins
Copy link
Collaborator Author

That is definitely not for human use... :)

@chrissimpkins
Copy link
Collaborator Author

#20

@kentcdodds kentcdodds added the help wanted Extra attention is needed label Mar 2, 2016
@chrissimpkins
Copy link
Collaborator Author

Pulling the discussion about PR #20 over to this thread based upon an attempt to manually mock the current spec for an example Markdown collaborator list.

@kentcdodds We are starting to delve into implementation issues here and, while not part of the spec, they will be important to how/whether projects use this spec. The change in the git commit based definition of "contributor" appears to be the issue of most significance in this project. Perhaps we bag these examples/recommendations and mandatory contribution category indicators altogether in favor of a much more permissive implementation approach that places this in the hands of the project where it likely belongs. As I understand the goal of this project, it is that all contributors who meet community defined criteria of this term (which is in flux and being worked out at present in this early draft version), are acknowledged for their contribution. Period. Whether projects provide an indicator of the type of contribution, an image that represents the contributor, and the way that they implement these indicators should perhaps exist outside of the spec itself or at the very least should be optional components of the specification and decisions for the project teams.

Thoughts?

@chrissimpkins chrissimpkins changed the title Create contributors table/gallery Markdown / reStructuredText examples page(s) Specification implementation examples Mar 2, 2016
@kentcdodds
Copy link
Collaborator

I think I understand the concern you're expressing. However I worry that if we don't give at least an example and some specific guidelines, projects will be less likely to adopt the idea. Without the guidelines, the spec is no longer a spec, but more of a blogpost about a good idea people should implement in some way.

@chrissimpkins
Copy link
Collaborator Author

I completely agree. I think that guidelines are useful to help with implementation. I am specifically wondering about the use of these as mandatory parts of the specification:

  • Indication of the Contribution Category in text or icon image format using the defined Contribution Categories and/or Contribution Categories emoji images (see below).
  • A link to the Contribution Category in text or emoji format using the defined Contribution Categories and/or Contribution Categories emoji.

As I worked with the Markdown example, it became clear that these items may pigeonhole the entire spec a bit. Should display of the types of contributions in a list of contributors be mandatory or should it simply be the inclusion of individuals in the list who meet the community defined criteria as "contributor"? If we choose the former, projects that do not fit the mold of a small number of easily displayed contribution categories per contributor will not bother with implementation of this (in its current form) and will therefore not be in compliance with the specification. If we choose the latter, there is much greater flexibility for a project to determine the hows of acknowledgment and this, in my view, opens the spec to a greater variety of project types and project maintainers. It really hinges on whether, and at what level of granularity, acknowledgment is going to be defined. Is there a lower minimum "level" of acknowledgment implementation that we can specify if this is felt to be an issue?

@kentcdodds
Copy link
Collaborator

Just to be clear, you're basically suggesting that we move those two bullet points to the optional section and that we allow people to comply to the spec even if they don't specifically call out the types of contributions people have made?

I think I'm ok with that. Thoughts from others welcome 💭

@chrissimpkins
Copy link
Collaborator Author

@fhemberger
@ben-eb
@Jameskmonger
@jfmengels
@bogas04
@frigginglorious

Thoughts about the issues in #15 (comment)?

I don't mean that we should avoid a set of guidelines and maybe even examples (where this originated) of the contributor list, nor that tools to support the specification and optional guidelines for contributor lists should be developed. I do think that if we pull ourselves out of mandatory hows of acknowledgment implementation this becomes an acceptable specification for a much larger group of individuals & projects. I would favor specifying the who.

@ben-eb
Copy link
Collaborator

ben-eb commented Mar 2, 2016

Seems like being more permissive makes sense to me. For example, there might well be people who want to use GitHub style emoticons for contributors instead of Unicode, etc.

@jfmengels
Copy link
Collaborator

all contributors who meet community defined criteria of this term (which is in flux and being worked out at present in this early draft version), are acknowledged for their contribution. Period.

👍 The aim of the spec is IMO simply to indicate what should be done, in regards of recognizing contributors and "displaying" them, not how:

  • Indicating what should be considered a contribution (code, docs, talks, translation, bug reports, ...)
  • broad guidelines on how to make the contributors stand out (list them in the README, add a contributors section, ...)

That said, the rest of the work IMO is to set up easy guidelines/workflows so that respecting the spec does not become too much of a burden for maintainers:

  • Give contributor list examples
  • Give ideas of how to display contributors (emoji is one way, but just one potential way)
  • Explore and document/provide friction-less workflows. We have already seen problems with conflicts in merges, and we should find ways to avoid that as best as possible. And neither maintainers nor contributors should also have to add themselves to a Markdown table, figuring out how Markdown works, why the display breaks when adding the 8th contributor or 4th contribution emoji.
    • Provide tools (well, that's why I started the CLI at least), GH bots, ...
    • Indicate how maintainers can communicate with the contributors in order to know how the user would like to get represented.

Not sure if you agree, but IMO all (or almost all) the work should be handled automatically or semi-automatically, I think it will otherwise be really too painful for maintainers.

In short: more permissive also makes sense to me (Sorry if I totally missed the point ^^')

@chrissimpkins
Copy link
Collaborator Author

we allow people to comply to the spec even if they don't specifically call out the types of contributions people have made

Seems like being more permissive makes sense to me.

The aim of the spec is IMO simply to indicate what should be done, in regards of recognizing contributors and "displaying" them, not how

I think that we are all saying similar things and it seems that there is some level of agreement about the laxity in the implementation / layout of the acknowledgments associated with the specification. If this is the case, should we create new issue reports for the mandatory parts of the spec in its current iteration so that we can discuss these in more detail to nail down the wording? It seems that there may need to be a bit of shuffle between what are currently considered mandatory and optional items. Perhaps we call those that deal with how one formats their contributor tables / lists "guidelines for implementation" and they exist outside of the spec altogether?

This would turn the spec into something that:

  1. defines a contributor based upon community defined categories that represent contributions to open source work (as currently defined in the Emoji table & open to vetting + modification by the community)
  2. specifies that all contributors should receive project acknowledgment as a contributor in some "prominent" way if they meet the definition of a contributor based upon add ${username}.png tip #1 above

The details of how the acknowledgment happens are then largely left to the projects that implement the spec, though we provide guidelines that might work for projects of various sizes/contributor numbers and suggest associated tools to ease the work associated with implementation of the spec (which is going to be a damn hard transition for many projects even if they are very motivated to support this!).

@kentcdodds
Copy link
Collaborator

I +1 the apparent general consensus :-)

@shockwavemoto
Copy link

@kentcdodds We are starting to delve into implementation issues here and, while not part of the spec, they will be important to how/whether projects use this spec. The change in the git commit based definition of "contributor" appears to be the issue of most significance in this project. Perhaps we bag these examples/recommendations and mandatory contribution category indicators altogether in favor of a much more permissive implementation approach that places this in the hands of the project where it likely belongs. As I understand the goal of this project, it is that all contributors who meet community defined criteria of this term (which is in flux and being worked out at present in this early draft version), are acknowledged for their contribution. Period. Whether projects provide an indicator of the type of contribution, an image that represents the contributor, and the way that they implement these indicators should perhaps exist outside of the spec itself or at the very least should be optional components of the specification and decisions for the project teams.

@kentcdodds
Copy link
Collaborator

I'm fine with that. Honestly I've focused more of my efforts around the all-contributors-cli project. The spec was originally created before that CLI existed. I'm looking forward to more automation to be written (like a GitHub bot that automatically updates the .all-contributorsrc and the README.md for us).

I'm less concerned about how folks implement this spec. I'm more interested in people get attribution for their work.

@Berkmann18 Berkmann18 added the discussion Discussion relevant to the repo label Jan 25, 2019
jakebolam pushed a commit that referenced this issue Feb 4, 2019
* Added HTML structure for the Index page.

* added base styles, css variables, and a grid. Modified some of the HTML.

* changed a few css rules

* added normalize, continued styling

* added image files, continued styling, modified some of the copy for how to

* fixed the wavey background css

* started adding media queries fixing styling issues

* More css tweaks and adjustments

* couple more styling tweaks, making it responsive

* fixed some flexbox issues. made it more responsive

* feat: add github badge button

* styled the added the github stars widget to live in the nav and float in mobile

* added the icons and styled them for the quick links

* added logos and some styling, might need a last pass on the styles

* changed some copy on buttons, made links open in new tab

* fixing last responsive details on user logos

* wip
jakebolam added a commit that referenced this issue Feb 4, 2019
* Initial commit

* Update README.md

* first commit

* docs: add ci badge

* docs: add license

* infra: use nvm locally

* ci: correct deploy key

* docs: all contributors

* docs: badge space

* ci: fix cache key

* docs: contributing

* ci: fix working dir

* ci: website build path

* docs: arrange badges

* docs: all contributors specification

* docs: badge not flat square

* docs: switch to all-contributors org (#1)

* docs: update all-contributors link

* docs: switch org

* docs: chat on slack

* docs: use google analytics

* feat: add branding (#3)

* docs: update all-contributors link

* feat: add branding

* docs: add tbenning as a contributor (#4)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: say hello to @all-contributors bot

* docs: links & grammar

* docs: sync with master repo (drops atom plugin recommendation)

* docs: add Greenkeeper badge 🌴 (#5)

* docs(readme): add Greenkeeper badge

* Update README.md

* docs(overview): added new maintenance category (#6)

This goes hand in hand with
[all-contributors-cli#142](all-contributors/cli#142).

* docs: document bot and cli tools (#8)

* docs: update all-contributors link

* docs: wip

* docs: tweaks

* new homepage

* docs: wip

* docs: first pass

* docs: tweaks

* docs: fix some grammar (#13)

* docs: grammar tweaks

* docs: use github star button

* docs: the problem section for CLI

* docs: cli docs

* docs: wording on motivation

* docs: description wrong

* docs: enable search

* docs: update contributing with search

* chore: added commitizen (#9)

* chore(package): added commitizen

* docs(readme): added the cz badge

* chore(yarn): updated yarn.lock

* chore: removed all-contributors-cli

* feat: add translations (#14)

* translation: first pass

* translation: first pass

* brew

* docs: add translations

* infra: write translations in ci

* infra: drop ci for branches

* valid

* docs: add Jongjineee as a contributor (#18)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add robertlluberes as a contributor (#19)

* docs: update README.md

* docs: update .all-contributorsrc

* docs(emoji-key): added missing `business` and `content` (#20)

* docs(emoji-key): added missing `business` and `content`

I added the missing types and removed the uneeded `npx` call in the `commit` NPM script.

* docs(emoji-key): removed 'N/I' line

* docs: switch to Portuguese, Brazilian

* docs: switch to Portuguese, Brazilian

* docs: enable chinese simplified zh-CN

* docs: enable chinese simplified zh-CN

* docs: add Berkmann18 as a contributor (#21)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add MarsXue as a contributor (#22)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add MatheusRC as a contributor (#25)

* docs: update README.md

* docs: update .all-contributorsrc

* Revert "docs: add MatheusRC as a contributor (#25)" (#26)

This reverts commit b20eae0.

* docs: add MatheusRV as a contributor (#27)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* doc: doc fix (#24)

* docs(emoji-key): added missing `business` and `content`

I added the missing types and removed the uneeded `npx` call in the `commit` NPM script.

* docs: improvements and fixes

Made some bits more comprehensible and fixed some typos

* infra: fix ci

* feat: support translations, drop example files

* docs(cli-usage): use inline code to specify the command "generate" (#28)

* docs: add MarsXue as a contributor (#29)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Berkmann18 as a contributor (#31)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add greenkeeper as a contributor (#32)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add allcontributors as a contributor (#33)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add root pages for languages

* docs: remove greenkeeper (#36)

* docs: add Greenkeeper[bot] as a contributor (#37)

* docs: update README.md

* docs: update .all-contributorsrc

* feat: new homepage (#15)

* Added HTML structure for the Index page.

* added base styles, css variables, and a grid. Modified some of the HTML.

* changed a few css rules

* added normalize, continued styling

* added image files, continued styling, modified some of the copy for how to

* fixed the wavey background css

* started adding media queries fixing styling issues

* More css tweaks and adjustments

* couple more styling tweaks, making it responsive

* fixed some flexbox issues. made it more responsive

* feat: add github badge button

* styled the added the github stars widget to live in the nav and float in mobile

* added the icons and styled them for the quick links

* added logos and some styling, might need a last pass on the styles

* changed some copy on buttons, made links open in new tab

* fixing last responsive details on user logos

* wip

* feat: missing files + open graph data

* fix: switch styles over to main.css

* fix: site name

* fixed the issues that the docs css was creating, should be good to go on mobile responsiveness (#43)

docs :fixing CSS

* feat: add 404 page (#44)

* fixed the issues that the docs css was creating, should be good to go on mobile responsiveness

* created a 404 page

* added in / for 404 page

* docs: fix link in 404 page (#45)

* docs: add maryampaz as a contributor (#46)

* docs: update README.md

* docs: update .all-contributorsrc

* feat: add analytics tracking to root pages, and 404s (#47)

* docs: hawaii banner for conference (#50)

* feat: link to jsconfhi

* infra: add 404 check for CI (#52)

* infra: add 404 check for CI

* ci

* background

* sleep less

* check 404s only after release

* infra: smart sleep

* infra: smart sleep

* formik 404

* docs: locallized badge

* docs: switch badge around

* docs: link to build workflow

* docs: few fixes and tweaks (#54)

* aloha, remove use of h1

* docs: move over docs, style footer

* docs: typo fixes (#53)

* docs(emoji-key): added missing `business` and `content`

I added the missing types and removed the uneeded `npx` call in the `commit` NPM script.

* docs: improvements and fixes

Made some bits more comprehensible and fixed some typos

* docs(repository-maintainers): fixed minor typo

* docs(bot): fixed a typo

Fixed the typo in the _overview_ page to the _usage_ one

* docs: fix readme

* website uses allcontributrs.org

* build

* lock file and checkout
@Berkmann18
Copy link
Member

@chrissimpkins Have you had a chance to prepare a PR for that?

@chrissimpkins
Copy link
Collaborator Author

@Berkmann18 Unfortunately I have not. Apparently three years was not sufficient time. :) My apologies.

Is this still something of interest? I have been following very peripherally and will need to catch up with where things are to submit this.

@Berkmann18
Copy link
Member

@chrissimpkins It's still something of interest, have you looked at the website, the CLI and the bot?

@chrissimpkins
Copy link
Collaborator Author

chrissimpkins commented Feb 7, 2019

have you looked at the website, the CLI and the bot?

Just checked out all of the links. Lots of work going on here. Looks great! 👏 to all of the contributors :)

It's still something of interest

I would be willing to PR in a set of mocked up example README docs that follow the spec if your request is to address the OP comment that I made. Does the CLI tool support *.rst as well as *.md files? If not, do you want *.rst too?

@Berkmann18
Copy link
Member

I would be willing to PR in a set of mocked up example README docs that follow the spec if your request is to address the OP comment that I made.

Awesome.

Does the CLI tool support *.rst as well as *.md files? If not, do you want *.rst too?

It supports both (and possibly more but I only tested on both extensions).
I think having the *.rst one might be good for those who use those files like how *.md files are used on GH.

@Berkmann18
Copy link
Member

Berkmann18 commented Mar 20, 2019

@chrissimpkins Have you managed to get something working?

@lwasser
Copy link

lwasser commented Apr 9, 2019

hi colleagues @Berkmann18 @chrissimpkins i was digging around trying to find whether there is an .rst implementation (or markdown) rather than HTML for this bot. i use readthedocs which doesn't love html tables embedded within rst files. I may have missed this in the docs but is there a way to implement the bot so it writes the contributor table using rst or md? this issue suggests it may be possible?

thank you so much for any guidance. this is a super cool tool.

@Berkmann18
Copy link
Member

Berkmann18 commented Apr 9, 2019

@lwasser There's no option (afaik) for now that enables you to tell the bot which format to use but I reckon it would be a great feature to add.
Would you mind opening a PR for that?

@Berkmann18
Copy link
Member

Friendly ping @lwasser .

@lwasser
Copy link

lwasser commented Jul 11, 2019

hey @Berkmann18 a PR for this is beyond my current tech skillset at the moment!! This is a great project however!

@melekler445
Copy link

Hey

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussion relevant to the repo help wanted Extra attention is needed pinned status: waiting for feedback
Projects
None yet
Development

No branches or pull requests

9 participants