GithubHelp home page GithubHelp logo

dry-rb / dry-rb.org Goto Github PK

View Code? Open in Web Editor NEW
95.0 95.0 102.0 97.49 MB

The official website of dry-rb

Home Page: https://dry-rb.org/

Ruby 16.92% JavaScript 1.60% SCSS 57.05% Slim 23.68% Procfile 0.04% Dockerfile 0.42% Shell 0.29%

dry-rb.org's People

Contributors

alsemyonov avatar amhol avatar davydovanton avatar endash avatar esparta avatar flash-gordon avatar fran-worley avatar george-carlin avatar gustavocaso avatar igor-alexandrov avatar incanus3 avatar janko avatar jodosha avatar josephinehall avatar makenosound avatar morozzzko avatar mvasin avatar nepalez avatar nicolas-besnard avatar orion122 avatar patrickclery avatar skryukov avatar solnic avatar suhomozgy-andrey avatar tancnle avatar timriley avatar v-kolesnikov avatar waiting-for-dev avatar wjdhamilton avatar yewton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dry-rb.org's Issues

Use canonical link tags

We currently redirect www.dry-rb.org to dry-rb.org so we need to add canonical link tags pointing to dry-rb.org

Finish docs for dry-validation

TODO

  • add a section about predicate logic
  • add a section about macros
  • add a section about option + with APIs
  • add a section about using constrained types for reusing validation rules
  • add predicate usage examples

View docs by gem version

A number of queries and confusion raised on the gitter room seem to be caused by people using the examples and guidance on the dry-rb site with an older version of a gem.

IMHO, a lot of this confusion could be addressed if it was easy to view the docs that relate to the version of the gem you are using. @timriley suggested something like bundlers website.

The other benefits:

  • we can update the site with changes on master as we go rather than holding off until a gem release.
  • the history of the gem & its docs is easily accessible in the site.

Improve dry-container docs

Right now it's a copy/paste from original README. It would be good to split it up into sub-sections and provide more info and context.

TODO

  • Improve intro section, explain the differences between dry-rb solution and heavy IoC frameworks
  • Explain how it's used along with dry-auto_inject and dry-component, add links to example apps
  • Split it into smaller sections
  • Add a sub-section about stubbing, explain best practices, dos and donts etc.

dry-validation documentation

in page https://github.com/dry-rb/dry-rb.org/blob/master/source/gems/dry-validation/high-level-rules.html.md there is something that seems incorrect:

rule(barcode_only: [:barcode, :job_number, :sample_number]) do |barcode, job_num, sample_num|
  barcode.filled? & (job_num.none? & sample_num.none?)
end

is put as an example of "validating absence of job_num and sample_num when barcode is filled". But to me the code sounds as "validating absence of job_num and sample_num and barcode is filled". Maybe it was supposed to be as follows?

rule(barcode_only: [:barcode, :job_number, :sample_number]) do |barcode, job_num, sample_num|
  barcode.empty? | (job_num.none? & sample_num.none?)
end

dry-validation documentation errors

While reading the documentation of dry-validation i stumbled upon some things that seem stange to me:

  • What's good_input handed to schema.call() in section none??
  • In section eql? should it be assert input[:sample] == 1234 instead of assert sample[:input] == 1234?
  • Again, good_input in section type? instead of just input?

Add Contributing page

Would be great to have a dedicated section where we document info about contributing

Things I'd like to see in this section (random order):

  • Info about writing tests
  • Info about CodeClimate and how we use metrics
  • Info about versioning scheme
  • Info about issues, labels and how to find a task to work on
  • A CoC or a statement that we have a CoC and a link to it
  • A list of current contributors
  • ???

Makes sense? WDYT?

Better community page

Within the site structure right now, one of the more important roles of the community page is to point people to the various places they can interact with the dry-rb community and get help (i.e. the discussion forum, GitHub issues, and Gitter chat). Those links are kind of hidden right now though, tucked away within the text paragraphs.

I think it'd be good to rethink this page a little given its most important role really is to show site visitors where they can go to interact with the dry-rb community. I think we could probably:

  • Properly highlight the 3 community interaction points. Perhaps pull them out into their own section where each one is a big text/image/link combo, easy to see and click.
  • Correspondingly, deemphasise the core team listing a little. It feels like it's a little big right now.

Semantic Versioning for all dry-rb gems

Along the lines of #59, it'd be structurally more beneficial if the dry-rb ecosystem started following SemVer. Personally, what matter most are the API changes parts. It's understandable for an open-source and a nascent project to keep changing without proper notification and documentation. SemVer here will helps us (in the outside) be in control of how much exposure to changes we want in each project we work on.

I sadly know that takes away the sexy 1.00 milestone. But hey, this way you're more agile which is still sexy, I hope.

P.s. I didn't know where to post this issue so I hope I made the right call by submitting it here. Cheers.

Improve spacing/layout of lists

It's a bit awkward right now. The dots seem small and very far away, and the space above a list is greater than the space below it.

Improve homepage

The current dry-rb.org homepage could do better to introduce people to dry-rb and entice them to try it.

I’d like to make this better. I think an improved homepage could offer:

  • A more compelling one-line pitch
  • A better statement of our founding principles (replacing the mostly-empty non-intrusive/flexible/fast section on the current site). This could go 2 ways, I think: either collapse these into a single, supporting sentence (or two) to the one-line pitch, or try and expand on these as multiple separate points with a supporting sentence for each. These'd need different design treatments, obviously. I think perhaps the "supporting sentence" might be better, and we can link off to a full "principles" page later if we wanted to.
  • A description of the 2 possible “pathways” you can follow in adopting dry-rb:
    1. dry-rb as foundation of your app (“go all in”)
    2. or to enhance parts of your existing app (“pick and choose”)
  • Short code examples for a few important use cases
    • validation
    • types?
    • dry-system + auto_inject
    • dry-monads + matcher
  • Big fat links/buttons to the list of gems + (upcoming) guides page

In doing these, I think we could probably ditch the gem list on the home page and just make the /gems page better (will file a separate issue about that).

What's the work involved here? Obviously there's some content to be written, but I think at the same time we could start work on some new visual design structure to house it.


FWIW, I surveyed some other OSS project homepages in thinking about this:

Ember.js: probably the best example of the kind of thing I’d like to see us have. Visually nice and still has a decent intro and code samples.

React: less visually impressive than Ember but a decent combo of intro pitch + code examples. This is probably closer to what we have now and wouldn’t be a bad place to get to :)

Angular: So… material. TBH this feels a little light-on for a homepage. I’d rather us supply visitors with some more info.

Mithril: Not visually impressive, but it has a clear little “pitch” section up-front, which isn’t bad.

Ruby on Rails: This is a bit light on details, which Rails can get away with, but we need to give more info to get people to consider dry-rb, IMO. Also, I’m not sold on the video as introductory material. Most times I won’t click.

Every gem needs a prominent link to its GitHub page

Right now there's no way to get from a gem's page on the dry-rb site through to its source code, issues, etc. on GitHub. I think we need to make this a fairly prominent link somewhere. Something with a special style at the bottom of each gem's navigation menu, perhaps?

Change dry-transaction docs to use dry-container and plain `step` steps

We want to encourage people to use this gem in the way we intended, which is with a real container (not a hash!) and with objects already built to return Either results.

Discussion about alternative usage (such as alternative containers and the step adapters) can be moved into a different section or further down the page.

Better gems page

The gems page is pretty barebones right now. If we pull the "highlighted gems" off the home page in #133, we'll need a better place to showcase them. I'm thinking we could do the following to improve the gems page:

  • Add a "featured gems" area for the popular/important ones
  • Do something to make the full listing look a bit nicer. Fatten things up, offer links to both docs and source code, maybe even relevant guides with dry-rb.org (once we add them).

Add favicon

The site currently doesn't have a favicon and the page titles aren't indicative that the tab is on the dry-rb.org site

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.