wilbertliu / redux-ecosystem

The website of Redux-related addons, libraries, and utilities based on https://github.com/markerikson/redux-ecosystem-links
MIT License
13 stars 3 forks source link

Correct inconsistent Markdown in the Redux-Ecosystem-Links Repo #10

Open dberget opened 6 years ago

dberget commented 6 years ago

Currently the Redux-Ecosystem-Links repo has some inconsistencies in the markdown formatting that prohibits the parser from making a consistent JSON structure.

The normal pattern that the parser expects is :

<h3></h3> at the top of the page for the main category name. Only 1 per page. <h4></h4> for each subcategory.

For every repository, the valid structure is: A paragraph. Bold title string. Linebreak. Valid GitHub repo URL string. Linebreak. Description string.

Example of correct MD structure:

### Component/Local State and Encapsulation

#### Component/Local State

- **redux-ui**  
  https://github.com/tonyhb/redux-ui  
  Easy UI state management for react redux.  Think of redux-ui as block-level scoping for UI state.

- **redux-react-local**  
  https://github.com/threepointone/redux-react-local  
  Creates component wrappers with per-instance local state stored in Redux, as well as locally scoped actions and reducers

- **redux-component**  
  https://github.com/tomchentw/redux-component  
  Manage a component's local state using a local redux store.  A isolated redux store is created for each React component instance.

#### Simplified / Key-Value State

- **Redux Cursor**  
  https://github.com/Dashlane/redux-cursor  
  Local private slices of a global store for component encapsulation in a Redux model.  Redux does not like the cursors in their general implementation, but the criticism is focused purely on the low-level ability to mutate the state at will. redux-cursor resolves that by relying on actions just as base Redux.

- **redux-mount**  
  https://github.com/popc0rn/redux-mount  
  Mount data on a path and change state values on the fly. No need to create reducers, actions, or selectors to handle view-specific state yourself.

- **reduceless**  
  https://github.com/nosovsh/reduceless  
  Redux helpers to avoid odd reducers, actions and constants.  Specify a path into your state, get it passed in and a setter to update it.

List of Pages With Issues

The parser identified the following pages with errors, we'll have to go through and manually tweak each one as necessary to match the correct pattern. There will be some cases which will require more discussion and possibly changes to the parser if appropriate. Lets open up an issue as those come up.

Repository Fredux of subcategory Boilerplate Reduction and Simplification has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository to-redux-type of subcategory Action Creation Utilities has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository Redux Saga Examples of subcategory Purpose-Built Demos and Examples has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Redux Counter Example of subcategory Purpose-Built Demos and Examples has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Firefox DevTools - Memory Tool and Debugger of subcategory Applications has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository CarteJaune of subcategory Applications has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Linode Manager of subcategory Applications has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Winamp2-js of subcategory Applications has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository "Ask HN: Open source projects written in React?" of subcategory Other Application Lists has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository React Apps and Libraries List of subcategory Other Application Lists has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Twitter: mobile.twitter.com of subcategory Redux Usage Stories has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Lystable: Real World Redux of subcategory Redux Usage Stories has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository KarmaCRM: Launching an Enterprise React & Redux App – Part 1 of subcategory Redux Usage Stories has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository WaveHQ of subcategory Redux Usage Stories has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Neos CMS Goes for a Full UI Rewrite with React and Redux of subcategory Redux Usage Stories has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Reddit frontend engineering team AMA of subcategory Redux Usage Stories has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Redux for Realtime Gaming of subcategory Redux Usage Stories has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository Redux "subapps" example of subcategory Component/Local State has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-container-state of subcategory Component/Local State has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-internal-state of subcategory Component/Local State has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-doghouse of subcategory Component/Local State has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-atom of subcategory Component/Local State has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-features of subcategory Modularity and Encapsulation has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-modules-enhancer of subcategory Modularity and Encapsulation has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository reselect-tools of subcategory DevTools has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository purityWarningReduxConnect of subcategory Mutation Detection has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository mutation-sentinel of subcategory Mutation Detection has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. A <h4> is not followed by repositories. Repository react-transform-render-visualizer of subcategory Component Update Monitoring has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository "WhyDidYouUpdateMixin" of subcategory Component Update Monitoring has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository react-wastage-monitor of subcategory Component Update Monitoring has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository Immutable.js of subcategory Immutable Data Structures (Specialized) has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository immutability-helper of subcategory Immutable Update Utilities has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository blazing-edge/update of subcategory Immutable Update Utilities has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-tcomb-actions of subcategory Immutable/Redux Interop has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository reduxdb of subcategory Alternate Data Management Concepts has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository number 1 of subcategory React has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository redux-awaiter of subcategory Promises has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-queue-offline of subcategory Timeouts and Delays has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

<h3> appears more than once.

Repository redux-socket.io-connect of subcategory Websockets has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository redux-aop of subcategory Action Grouping and Interception has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository Redux Docs: Ecosystem of subcategory Redux Links has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Reactiflux of subcategory Redux Links has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Black Pixel Redux Handbook of subcategory Community-Defined Standards has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository redux-merge-reducers of subcategory Reducer Utilities has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository combineMultiKeyReducers of subcategory Reducer Utilities has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-exr of subcategory Reducer Utilities has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. <h4> is not followed by repositories. Repository redux-operations of subcategory Advanced Reducer Use Cases has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-list-reducer of subcategory Advanced Reducer Use Cases has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-reducer-factory of subcategory Advanced Reducer Use Cases has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository reducer-generator of subcategory Advanced Reducer Use Cases has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository sliced-redux of subcategory Dynamic Reducer Injection has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-reducers-injector of subcategory Dynamic Reducer Injection has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-async-injector of subcategory Dynamic Reducer Injection has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository redux-thunk of subcategory Widely Used Tools has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository number 1 of subcategory Side Effect Libraries By Approach has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository number 2 of subcategory Side Effect Libraries By Approach has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository number 3 of subcategory Side Effect Libraries By Approach has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository number 4 of subcategory Side Effect Libraries By Approach has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository redux-offline of subcategory Persistence Libraries has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-persist-migrate-semver of subcategory Redux-Persist Addons has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository redux-live of subcategory Synchronization has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Redux Share of subcategory Synchronization has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-bolt of subcategory Synchronization has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-dispatch-monitor of subcategory Other has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository redux-actions-assertions of subcategory Actions has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

<h3> appears more than once. Repository redux-dag-history of subcategory Undo-Redo has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository bo-selecta of subcategory Selectors has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository red-ux of subcategory Selectors has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository redux-fun of subcategory Functional Programming has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

Repository react-redux-idle-monitor of subcategory Assorted Components has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository react-block-ui of subcategory Assorted Components has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string. Repository Repanel of subcategory Layout has wrong structure. It should be : paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string.

wilbertliu commented 6 years ago

Hey @dberget, thanks for pointing this out! 🙂 I think what we can do here as an “outsider” of the redux-ecosystem-link project is to make workarounds from time to time, which is ineffective to reach a state where all of the data could be parsed appropriately.

The best way I can think at the moment is to put an issue inside the redux-ecosystem-link instead, so that people at there could aware of what’s the state here and perhaps would fix their markdowns or searching for other solution.

Cheers! 🍻

markerikson commented 6 years ago

It would be helpful to see what the inconsistencies actually are. How many of them are non-Github-repo links, vs missing whitespace, vs something else? Could you tweak the parser to print out what it saw vs what was next expected?

wilbertliu commented 6 years ago

I don’t think knowing deeper than what we’ve known through the current robot is necessary, @markerikson. If not, feel free to mention why do you need that and some use cases, that would be more helpful to us. 🙂

I said so because we already have some clues on repos that have problems and what we expect as the correct format. Wouldn’t it enough to open the respective markdown that has errors and fix the repos directly according to the proper format that the robot has given? Unless you expect the fix should be done by the robot as well, which is not the focus of this project.

markerikson commented 6 years ago

@wilbertliu : there's several dozen items listed that don't fit the expected structure. Seeing the same "should be paragraph -> bold title string -> linebreak -> valid github repo url string -> linebreak -> description string" doesn't really help, because that's the same expectation every time. If we're going to run an automated check, it's more helpful to print what the single next expected token/item should be, and what it actually found instead.

Some of those inconsistencies are "expected". For example, I know that the "Apps and Examples" page has a bunch of links to non-repo pages in it, like some Twitter threads.

I also know I have a few places where I link to other related categories, and I suspect some of those are showing up in here.

I'm definitely in favor of cleaning up any real problems, but I want to see which items are real problems first.

dberget commented 6 years ago

I made some updates to the validator and I've got it working a bit closer to what you are suggesting @markerikson. It shows the current structure of any repos with errors now.

I also removed the specific github url check and it brought the error count down by quite a bit. Non-github links work just fine in the actual app so they shouldn't count as an error here in my opinion.

action-reducer-generators.md

actions.md

apps-and-examples.md

component-state.md

https://github.com/bulicmatko/redux-atom Link: linebreak https://github.com/bulicmatko/react-redux-atom Description: linebreak

devtools.md

immutable-data.md

library-integration.md

middleware-async.md

middleware-network-requests.md

middleware-sockets-adapters.md

https://github.com/michaelmitchell/redux-socket.io-connect Link: linebreak Relays Redux actions to the server, where reducer-like "handlers" can execute server code and dispatch actions back to the client. Description: undefined

middleware.md

reducers.md

side-effects.md

store-persistence.md

store.md

testing.md

use-cases.md

utilities.md

https://github.com/guillaumearm/redux-fun Link: linebreak Utilities for composing and piping reducers, selectors, and middleware Description: undefined

widgets.md

Link: linebreak https://github.com/Availity/react-block-ui Description: linebreak

dberget commented 6 years ago

While looking through a lot of the errors, a high % of them are due to a second url. By figuring out how we want to handle those cases we can fix most of the errors.

@wilbertliu, would you be able to add the ability to capture a 2nd url to the robot's capabilities very easily?

Otherwise, the first options that come to mind are to either manually move the 2nd url to the description as a "See also: ...", or split off to own item on the list if appropriate.

wilbertliu commented 6 years ago

@markerikson Alright, I got the intention and will get back to it as soon as I can. 👌🏻

@dberget

would you be able to add the ability to capture a 2nd url to the robot's capabilities very easily?

For sure bro! 🙂 But hang tight, let's revise our markdown structure first. Before that, I think I will make some fix for the robot, then we'll see what @markerikson thought about that. I believe his response will revise our pattern structure that we already used.

Thanks all! 🙏🏻