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

www.ReactiveX.io Website #1

Closed
benjchristensen opened this Issue May 29, 2014 · 23 comments

Comments

Projects
None yet
7 participants
@benjchristensen
Member

benjchristensen commented May 29, 2014

This issue is intended to kickoff the discussion of what the www.reactivex.io website should include and get the work started on it.


  • Intro, what it is, what it solves, why it exists.
    • how to get started quickly
    • dependency management for each language and hello world
    • links to latest releases for each language
  • Documentation
    • common across all languages
    • language specific details
    • each operator can have the common marble diagrams, then per-language examples, idioms, synonyms, etc
  • Languages
    • list of languages with news, release notes, documentation etc specific to each implementation
  • Related Projects
    • other projects that are not Rx implementations, but related to it … projects that use or leverage Rx
  • Media
    • presentations, talks, conferences etc
  • Community
    • google groups, twitter etc
  • Github
    • github.com/ReactiveX for all code, issues, etc for each language
  • Releases and Binaries
    • Apache (eventually)

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

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented May 29, 2014

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented May 29, 2014

Projects I expect in the near future evolving out of the RxJava side of things are:

  • RxJava
  • RxScala
  • RxGroovy
  • RxClojure
  • RxJRuby
  • RxKotlin
  • RxAndroid
  • RxNetty (possibly)
@benjchristensen

This comment has been minimized.

Member

benjchristensen commented May 29, 2014

Other projects (sitting with @headinthebox) would be:

  • RxJS
  • Rx.Net
  • RxPython
  • RxCPP
  • RxPHP
  • ReactiveCocoa (rename?)
@flatmap13

This comment has been minimized.

Collaborator

flatmap13 commented May 30, 2014

For the docs to be written and maintained in GitHub, we could use a framework like Jekyll. It can generate static front-end pages from markdown templates. I've created a simple prototype using this in the jekyll branch. If Jekyll meets the requirements, we could use the prototype as a starting point.

@paulcbetts

This comment has been minimized.

paulcbetts commented Jun 1, 2014

/cc'ing ReactiveCocoa and ReactiveUI owners, who might be interested: @jspahrsummers @joshaber @alanjrogers @dannygreg @jlaanstra @onovotny @tberman @Haacked @niik

We'd love to get in on this effort, having a shared website for a lot of related Reactive projects would be great for everyone involved, especially being able to contrast how the same "Rx Zen" applies across many different UI frameworks / languages.

Github - github.com/ReactiveX for all code, issues, etc for each language
Releases and Binaries

I'm not sure that this part is as valuable as having the top-level ReactiveX website. If the top-level website is what everyone references, we can definitely direct people appropriately without trying to consolidate in the same org. Org pages aren't particularly great for discovering projects, we can do better via reactivex.io

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented Jun 1, 2014

@GeorgiKhomeriki I have heard good things about Jekyll but have never tried using it. I'll play with your branch. The key is to make it easy for those who will be doing the most documentation writing, and that it easily supports integration with the code samples.

@paulcbetts Great to have you involved on the site. I agree the site is more important than the colocation of code. There are many reasons why this repo makes good sense for several of the languages that @headinthebox and I are involved in, but by no means do all Rx implementations need to live here to achieve the desired Rx unification, and I'm sure there will be reasons for some not to be here.

For the website, what would you change on the outline I posted above? How would you like to be involved or get started? We are just kicking this off.

My goal right now is to get the bones of the site in place on github so we can all start contributing the documentation and code examples, as those are the two most important things in my opinion and the ones that will distribute to a team of contributors the best.

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented Jun 1, 2014

@GeorgiKhomeriki I just played around with your branch and Jekyll looks like it will work well, and I like how the Markdown files living in Github get rendered there as well, so that seems like it will work well.

We will not want to have each language with a different mini-site though, that defeats the purpose. Each language should have its own page, but the primary site and documentation needs to be unified.

How do you want to establish the basic site map so we can get started? What about site design, styling and branding?

@mttkay

This comment has been minimized.

mttkay commented Jun 1, 2014

I would like to volunteer for creating better documentation for the basic usage and gotchas of RxJava on Android. The rxjava-android module docs are painfully outdated anyway. I think there's also more interesting things we could do with the rxjava-android-samples. What's there right now really only shows some fundamental integration with the library, but is not really much inspiring about how to solve more difficult problems in an elegant way.

@headinthebox

This comment has been minimized.

Contributor

headinthebox commented Jun 2, 2014

@mttkay Thanks. Maybe a good way to iterate on the site structure is that @mttkay and @GeorgiKhomeriki massage things such that we can add the Android docs in there as a first test.

@flatmap13

This comment has been minimized.

Collaborator

flatmap13 commented Jun 2, 2014

@benjchristensen Good to hear that Jekyll meets the markdown requirements.
About the outline you posted, is this an indication of the content you want to include or can we regard that outline as the sitemap? If not, can we gather an initial list or hierarchy of the necessary pages?
Also, does the website need a back-end? Jekyll can only create static front-end pages.

@LeeCampbell

This comment has been minimized.

LeeCampbell commented Jun 2, 2014

I like the idea of the jekyll system. I had thoughts about making the code
specific snippets github "gists" that were linked to or embedded. We could
use convention to integrate with all the languages.
On 2 Jun 2014 10:28, "Georgi Khomeriki" notifications@github.com wrote:

@benjchristensen https://github.com/benjchristensen Good to hear that
Jekyll meets the markdown requirements.
About the outline you posted, is this an indication of the content you
want to include or can we regard that outline as the sitemap? If not, can
we gather an initial list or hierarchy of the necessary pages?
Also, does the website need a back-end? Jekyll can only create static
front-end pages.


Reply to this email directly or view it on GitHub
#1 (comment)
.

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented Jun 2, 2014

About the outline you posted, is this an indication of the content you want to include or can we regard that outline as the site map?

It's my first pass at a site map and that in turn suggests the content I think we want included.

does the website need a back-end

I don't think so.

specific snippets github "gists"

I think these can just be source folders within the folder structure of the reactivex.github.io project. Each language should have a root folder and then if we all conform to the right paths and naming conventions, I'm hoping Jekyll or the Javascript can then just load the example code.

For example:

  • /examples/java/some/path/helloWorld.java
  • /examples/js/some/path/helloWorld.js
@headinthebox

This comment has been minimized.

Contributor

headinthebox commented Jun 2, 2014

@GeorgiKhomeriki Ignore my ignorance, and I am sure I already asked this several times before :-). If we are just doing a static site, can't we just do a GitHub wiki or regular HTML + boostrap?

Jekyll seems a blog engine (https://help.github.com/articles/using-jekyll-with-pages), and I am not sure if we can leverage the templating much (I like less moving parts)

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented Jun 2, 2014

If we use the wiki we can't control the UI, styling, branding etc, nor can we embed Javascript logic, such as needed for code examples that allow switching between languages.

@headinthebox

This comment has been minimized.

Contributor

headinthebox commented Jun 2, 2014

@benjchristensen That's what I thought wrt to wiki, not sure however what Jekyll code generation over standard HTML + http://getbootstrap.com/.

Just want to make sure we pick the simplest technology that works. I am not a big fan of using models to generate code. Rather write things by hand. But then maybe I am traumatized by the previous job.

@flatmap13

This comment has been minimized.

Collaborator

flatmap13 commented Jun 2, 2014

@headinthebox That is indeed an option, however in that case all the documentation and content would need to be written in HTML instead of markdown.
Funny thing is that http://getbootstrap.com/ is actually built with Jekyll :-)

@headinthebox

This comment has been minimized.

Contributor

headinthebox commented Jun 2, 2014

:-)

@flatmap13

This comment has been minimized.

Collaborator

flatmap13 commented Jun 10, 2014

Sorry for the delay, I've started a new branch in which I've set up Jekyll combined with Bootstrap. I think this combination is nice, especially since bootstrap adds "responsiveness", so mobile devices are also supported. It's just that the site currently looks a bit "standard" (since a lot of other websites also use bootstrap); we need a solid CSS design to customise the look-and-feel. We also need contents for the pages, for now I've copied a page from the RxJava wiki for testing purposes. It's really basic for now, but I just wanted to see if you think that this is going in the right direction? If not, I'll backtrack and try something else.

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented Aug 5, 2014

@staltz is working on interactive marble diagrams: http://staltz.github.io/rxmarbles/

If possible we should work together to make this usable across all Rx documentation intended on reactivex.io

@benjchristensen

This comment has been minimized.

Member

benjchristensen commented Aug 5, 2014

@GeorgiKhomeriki what needs to happen to get the foundation of the site functional so we can starts migrating RxJava docs to reactivex.io?

We are getting close to splitting RxJava into several projects and I'd like the new home for docs to be available.

@flatmap13

This comment has been minimized.

Collaborator

flatmap13 commented Aug 6, 2014

Another effort to create interactive marble diagrams:
http://calavoow.github.io/reactivex.github.io/operators/

@flatmap13

This comment has been minimized.

Collaborator

flatmap13 commented Aug 6, 2014

@benjchristensen I think currently the most pressing issue is to make the website work across different browsers. Then we simply need to populate the website with content and perhaps change the (css) style. I'm working on the dynamic code examples (loaded from github repos).

@DavidMGross

This comment has been minimized.

Collaborator

DavidMGross commented Feb 19, 2015

Closing this one out; if there are unfinished subtasks, please file new issues specific to them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment