reactivex / reactivex.github.io Goto Github PK
View Code? Open in Web Editor NEWReactiveX Website
License: Apache License 2.0
ReactiveX Website
License: Apache License 2.0
(This was discussed in Issue #20 by @headinthebox, @GeorgiKhomeriki, @samuelgruetter, @benjchristensen, @staltz & @DavidMGross but deserves a stand-alone issue.)
The documentation is full of code samples. To ensure that these are (and remain) accurate, they should be tested and these tests should be re-run whenever changes are made to the samples, the ReactiveX implementation they are written against, or relevant parts of the language/OS they run within.
How to do this well is a bit of a puzzle. Some of the issues/ideas:
Thoughts?
(Copied over from ReactiveX/RxJava#2955)
JensRantil:
Source: http://reactivex.io/documentation/scheduler.html
Footer should always be at the bottom, even on very large screen sizes.
Use http://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
The documentation got off to a good start with implementation-specific information for Java, Groovy, and JavaScript, but the equivalent RX.rb sections are mostly empty.
Pages that are in particular need of help here are:
We need to get setup with CloudBees, Travis (https://travis-ci.org) or something like that for automated building.
We also need a mechanism for releases (today done by Netflix infrastructure for RxJava).
I don't know what other languages need so keeping this focused to Java.
On the frontpage, I'm planning to include a section "Who uses Rx" listing a few companies that use Rx in a significant way or as a core technology. My memory is very bad at the moment and honestly I can just think of Netflix and Couchbase.
So, could you guys list a few more so I can fill this list?
UPDATE:
If you wish to have your companies' logo and link on the frontpage, just provide a png image of size approx. 500x200 (or better), with white or transparent background, and a link to the page. We can include logos as much as there is incoming, but at some amount (maybe 12?), we should reconsider which ones are stronger for social proof.
Logos will be sorted by decreasing Alexa ranking (global), and with a max of 12 logos on the frontpage.
Current sorting as of 19 September 2014:
In IE11, only a menu bar is shown, but no content. This also seems to be the case in IE9 and 10.
Developer tools show the following javascript error:
"Unable to get property 'language' of undefined or null reference."
ReactiveX/RxJava#2557 concerns the javadocs in particular, but something similar probably belongs on our operator-specific documentation pages.
We'll want to establish the mechanisms for collaboration. For example, Google Groups, HipChat, IRC, Twitter, etc.
This Google Group exists already: https://groups.google.com/forum/#!forum/rxjava
Twitter already has RxJava and ReactiveX
How to add a new language of docs, such as Chinese? Just put the new markdown files to subfolders, such as /cn
?
The site displays but pages don't scroll when loaded on iPhone and iPad using safari.
Based on Paul Taylor's decision trees for RxJS operators:
https://github.com/trxcllnt/RxJS/blob/master/doc/static-operators.md
https://github.com/trxcllnt/RxJS/blob/master/doc/instance-operators.md
Here's a version for ReactiveX in general, but most of the links don't work yet:
http://reactivex.io/documentation/Operators/operators.html
I don't have sufficient permissions to do this, I don't think. @benjchristensen maybe?
We do our site development in "develop" and then periodically generate the site locally using rake before checking it in to the "master" branch -- that is to say, nobody should be checking in incremental changes to "master."
New contributors are confused by this and often try to alter "master" directly as it's the default branch.
I found it in the JS folder, and it's huge (25M). Why do we need it? I tried looking for its usage, but it's not clear why it is necessary.
@GeorgiKhomeriki ?
I think reactivex.io site deserves the @headinthebox treatment with a few sections walking through the theory and computer science of Reactive Extensions. What do you think @headinthebox ?
Thoughts on topics:
I would like for www.reactivex.io to be the definitive source of truth for these topics in relation to Rx rather than blogs, whitepapers, comments and wikis all over the net.
The documentation got off to a good start with implementation-specific information for Java, Groovy, and JavaScript, but the equivalent RxKotlin sections are mostly empty.
Pages that are in particular need of help here are:
The documentation got off to a good start with implementation-specific information for Java, Groovy, and JavaScript, but the equivalent RxPY sections are mostly empty.
Pages that are in particular need of help here are:
Right now it looks like the docs are in /observables/. It took me a bit to find it. Should we have all docs under a folder such as /docs/ or /documentation/?
Can I take the initiative to improve the looks of the site? I'll do this in a separate branch, and we can iterate over the pull requests I send, so that you guys can give your opinions before merging the changes.
Things I'd like to improve:
abcd...xyz
(the alphabet). Also making the font a bit bigger helps. These changes would bring the site closer to what typical Github markdown docs look like with regard to typography.Is this ok?
See ReactiveX/RxJava#2839 for a discussion of this and an example of trouble.
We need to get setup with Sonatype so we can publish projects with the orgId io.reactivex
.
NOTE: This is specific to Java based projects.
The documentation got off to a good start with implementation-specific information for Java, Groovy, and JavaScript, but the equivalent RxCPP sections are mostly empty.
Pages that are in particular need of help here are:
I'm not sure if we can leverage something in the CSS / site generation we're already working with or if we'd need to pull in some additional CSS/JS to make this work.
Most of what is in the operator pages, including the sample code sections, is in HTML rather than markdown, although those pages go through the markdown->html generator like the rest of them, so maybe we could leverage that.
The code sample sections are currently marked with <div class="code
languageName">
in anticipation of being able to accomplish this at some point.
One basic question: where should the interactive marble diagrams be placed on the website? Under a dedicated section? One interactive diagram under each documented operator? Somewhere else?
That's important to know because it affects how I should adapt http://staltz.github.io/rxmarbles to this website.
The RxJava/RxScala comparison table should have solid borders, and use the full width of the page, because the signatures tend to be very long.
Something similar to the template used on the old page might be used: https://github.com/RxScala/RxScala.github.io/blob/master/_layouts/comparison.html
So that it looks more like this: http://rxscala.github.io/comparison.html
As soon as #42 and #43 are fixed, we should add forwarders from the old RxScala website which redirect page visitors to http://reactivex.io/rxscala/.
Let's rewrite the Rx Design Guidelines as part of the reactivex.io site.
In firefox version 30.0 (tested on OS X 10.8) the code sample tabs are not working correctly.
The tabs are created using Polymer custom tags (w/ paper tabs).
This issue can be observed on: http://reactivex.io/embed-test
Right now the documentation is too implementation specific.
For example, this page assumes RxJava: http://reactivex.io/documentation.html ... particularly in how it puts binaries as the first thing being shown.
Right from the start this page needs to include at least RxJS and RxJava.
I suggest we start with just a simple page with links to existing RxJS, RxJava and soon to arrive documentation from RxScala, RxAndroid etc.
Then we can start to shape it into this new model
I'd like to use this site as the landing page now even though we don't have the docs in place.
The documentation got off to a good start with implementation-specific information for Java, Groovy, and JavaScript, but the equivalent RxClojure sections are mostly empty.
Pages that are in particular need of help here are:
About a year ago, I made a small website for RxScala (http://rxscala.github.io/). Now that there is one central http://reactivex.io/, it would be good to move the contents of http://rxscala.github.io/ to http://reactivex.io/.
Currently, http://rxscala.github.io/ contains the following:
The markdown source for the general info is page is here.
The scaladoc can be obtained by running ./gradlew scaladoc
in the RxJava repository, or by copying this folder.
The comparison table is auto-generated by the printMarkdownCorrespondenceTable
method in CompletenessTest.scala, and the generated markdown of the most recent version (0.20.4) is here.
I'm not a web designer at all, and I'm opening this issue hoping that a web wizard (such as @GeorgiKhomeriki or @staltz) will take care of this ;-)
Of course I'm available for answering any RxScala specific questions, or questions on the http://rxscala.github.io/ website.
When clicking around documentation the pages load slowly. They first open to a blank page, then a second later the content appears.
It feels like it is loading javascript, processing it, then downloading content.
The assumption is that our pages are simple, pre-generated HTML so we should be able to hit static HTML and only have javascript involved when doing the embedded code snippets.
The documentation got off to a good start with implementation-specific information for Java, Groovy, and JavaScript, but the equivalent RxScala sections are mostly empty.
Pages that are in particular need of help here are:
Both RxJS and Rx .NET implement DelaySubscription:
Once the build infrastructure for RxScala works, we can start moving the examples in RxScalaDemo to src/examples/reactivex/getting-started and include them in the website.
The documentation got off to a good start with implementation-specific information for Java, Groovy, and JavaScript, but the equivalent Rx.NET sections are mostly empty.
Pages that are in particular need of help here are:
I tested the new embedded RxMarbles diagrams in Chrome, Firefox, and Safari 7.1.3, and while they seem to work in the first two, they don't render at all in Safari.
When I view-source, the RxMarbles line is <rx-marbles key="foo"></rx-marbles>... that is, unchanged from the static source.
There's a javascript error that only seems to show up in Safari ("TypeError: Attempted to assign to readonly property." at patches-mdv.js, line 57)... not sure if that would have anything to do with it (that error also turns up on pages that don't have embedded RxMarbles diagrams). I don't see any other javascript errors or warnings.
This issue is intended to kickoff the discussion of what the www.reactivex.io website should include and get the work started on it.
Here are example sites:
http://vertx.io (particular see how code examples are done for each language)
http://netty.io
http://www.ratpack.io
http://akka.io
http://emberjs.com
http://angularjs.org
http://spark.apache.org
I saw this from Ben's recently published presentation:
There are a couple of things broken here: jumbotron arrow position, jumbotron height, and diagram arrow heads. Which browser were you using here, @benjchristensen ?
(I intend to fix these once I know)
The dropdown menus are not behaving correctly in IE.
I'm noticing a "Popover requires tooltip.js" error in the javascript console window, from bootstrap.min.js.
Reactive Extensions for Python (RxPY) at http://reactivex.io/languages.html should link to https://github.com/dbrattli/RxPY and not https://github.com/Reactive-Extensions/RxPy.
Both https://github.com/Reactive-Extensions/RxPy and https://rxpy.codeplex.com/ are outdated clones that haven't been updated for over a year. I have given up trying to keep all repos in sync, and will only continue development on my private repo.
The GitHub API rate limit might become a problem for the dynamic code examples (loaded client-side).
The API allows only 60 requests per hour for unregistered users...
Registered users are permitted to do 5000 requests per hour, but that would require user authentication (Basic/OAuth).
Issue for tracking discussions about what topics we should have tutorials for. This is slightly different than the normal docs which often are focusing on operators and creation/consumption. This is more for the end-to-end docs, how to solve use cases and problems.
As we agree upon ideas new issues for individual work can be created to track execution.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.