-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[WIP]: Update contributing #1096
Closed
Closed
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
fe94c14
Beginnings of JS, browsers, and node versions
2e61bf2
Add roadmap + marked architecture
b1ae1d1
add `var`
36cc4ad
Consistently use backtick to display part of marked
ede8bdf
Missed node versions for post 0.x.x
2487889
Update browser and node versions for 0.x
974de08
0.x.x should not change API, 1.0 notifies users of deprecation
75d6aec
Merge branch 'master' into update-contributing
joshbruce 555975f
Reorder objects based on processing sequence
6197226
Add merge() definition and question
b0c5481
Hypotheses for Objects
7ab383f
block - not inline
File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -56,6 +56,80 @@ Marked provides templates for submitting both pull requests and issues. When you | |
|
||
The PR templates include checklists for both the submitter and the reviewer, which, in most cases, will not be the same person. | ||
|
||
## Submitting PRs continued | ||
|
||
Marked is in an odd place right now. We're still a zero-major release, which, according to [semver](https://semver.org) means: | ||
|
||
> Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable. | ||
|
||
However, marked has also been around for several years and is still one of the most popular Markdown parsers we're aware of. Therefore, we can't ethically just change everything out from under our users before making things right. | ||
|
||
### Release 0.x.x (no known issues) | ||
|
||
1. **JavaScript:** ES5 - unless or until a suitable transpiling option is discovered. | ||
2. **Browsers we need to support:** | ||
- IE8 (ca. 2009) | ||
3. **Node versions we need to support:** | ||
- 0.10 | ||
4. Fix compliance issues against supported specifications. | ||
5. Possibly fix defects reported against user-requested features. | ||
|
||
### Release 1.0 (promises covered, changes to come) | ||
|
||
1. **JavaScript:** Same as 0.x.x. | ||
2. **Browsers we need to support:** Same as 0.x.x. | ||
3. **Node versions we need to support:** Same as 0.x.x. | ||
4. Flag features for deprecation to alert users of what breaking changes to expect in 2.0. | ||
5. Begin moving toward 2.0 architecture where possible. | ||
|
||
### Release 2.0 (remove deprecated features and modernized) | ||
|
||
1. **JavaScript:** ES6 | ||
2. **Browsers we need to support:** | ||
- IE11 (possibly, depends on how many people still use it by then), | ||
- Microsoft Edge, and the | ||
- latest versions of Safari, Chrome, and Firefox. | ||
3. **Node versions we need to support:** | ||
- ?? | ||
4. Respond to contributors while maintaining tight reins on scope of marked. (Marked is maintained by volunteers, the more it does, the more code we have to maintain.) | ||
|
||
## The marked architecture | ||
|
||
### Release 0.x.x+ | ||
|
||
Entry point: | ||
|
||
1. `marked()`: | ||
|
||
Variables: | ||
|
||
1. `var block`: Regex grammar for block-level HTML elements. | ||
2. `var inline`: Regex grammar for inline-level HTML elements. | ||
3. `var baseUrls`: ... | ||
4. `var originIndependentUrl`: ... | ||
|
||
Functions: | ||
|
||
1. `escape()`: ... | ||
2. `unescape()`: ... | ||
3. `edit()`: ... | ||
4. `resolveUrl()`: ... | ||
5. `noop()`: ... | ||
6. `merge():` Merges one or more objects to create a new object. (Why not use Object.assign??) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
Objects (the following are in procedural order): | ||
|
||
1. `Lexer`: Source from `marked()` is turned into tokens (??) | ||
5. `Parser`: Tokens are parsed for block elements (??) | ||
2. `InlineLexer`: Tokens from Parser are converted to inline tokens (??) | ||
3. `Renderer`: All tokens are turned into block-level HTML element strings (??) | ||
4. `TextRenderer`: All Renderer tokens are turned into inline-level HTML element strings(??) | ||
|
||
|
||
### Release 2.0+ | ||
|
||
Still under discussion. | ||
|
||
## Scripts | ||
|
||
When it comes to NPM commands, we try to use the native scripts provided by the NPM framework. | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure that CONTRIBUTING is the place to talk about releases.
That could be in a wiki roadmap...see TS Roadmap
Additionally, the description of the milestone should actually live on the milestones