Giter VIP home page Giter VIP logo

website's Introduction

ReactiveUI Website

Build website

This is the source code for the ReactiveUI website. It's a static site generated by DocFx.

Contributing

Steps

  1. Fork the current project
  2. Create a new branch, if needed
  3. Clone the project
  4. In order to build and host the docs do the following: Windows -- Open command prompt and install the following tools:
  • the DocFx tool dotnet tool update -g docfx

  • the Nuke tool dotnet tool install Nuke.GlobalTool --global

  • Open command prompt at the repository root folder, ensure that you have installed the DocFx tool and then run docfx reactiveui/docfx.json --serve

  1. Wait several minutes while it installs dependencies and initializes (approx 5 mins). It is ready when you see Hit Ctrl-C to exit
  2. Browse the website on localhost:8080

To build the entire Website we use Nuke Build you will need to install the tool so that you can run command line nuke commands using dotnet tool install Nuke.GlobalTool --global.


Once installed from the command prompt execute Nuke this will download and build the sources for the API section of the website, this takes around 35 minutes to compile and build the website with the API sections.


Once complete you can either execute docfx reactiveui/docfx.json --serve to run the site OR Nuke BuildWebsite to build the API only.


If you have generated the API section and wish to remove it on your local machine to enable the website to compile faster, run nuke clean and then run docfx reactiveui/docfx.json --serve

website's People

Contributors

adamradocz avatar akashgutha avatar arhell avatar cabauman avatar chrispulman avatar damianedwards avatar daveaglick avatar dependabot[bot] avatar dpvreony avatar finhorsley avatar garyng avatar ghuntley avatar giusepe avatar glennawatson avatar guillermooo avatar hishamco avatar jonstodle avatar kallyngowdy avatar kentcb avatar kmgallahan avatar lixfeld avatar manne avatar olevett avatar peterblazejewicz avatar renovate[bot] avatar richbryant avatar rlittlesii avatar timmurphy avatar tomasfil avatar worldbeater 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

Watchers

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

website's Issues

Styleguide needs to think more international in terms of time zones

https://reactiveui.net/contribute/content-style-guide/grammar-and-mechanics

In the time and time zone section of the above page we have the following section:

Time
Use numerals and am or pm, with a space in between. Don’t use minutes for on-the-hour time.

7 am
7:30 pm
Use a hyphen between times to indicate a time period.

7am-10:30pm
Specify time zones when writing about an event or something else people would need to schedule. Default to UTC unless targeting a particular timezone.

Abbreviate time zones within the continental United States as follows:

Eastern time: ET
Central time: CT
Mountain time: MT
Pacific time: PT

When referring to international time zones, spell them out: Nepal Standard Time, Australian Eastern Time. If a time zone does not have a set name, use its Coordinated Universal Time (UTC) offset.

I don't think international users would know the US time zones would be, especially with the above abbreviations of just 2 letters.

Given we are pretty international user group we should probably just have all time zones be fully written.

Implement twitter/facebook/social summary cards aka metadata

Creating this issue for someone who hasn't done open-source before or contributed to ReactiveUI. It would be super awesome if when the main website is linked on twitter/facebook that our branding (text AND image) appears instead of the current behaviour of meta title="xxxxx" only.

See https://dev.twitter.com/cards/types/summary-large-image

image

Leave a comment here to reserve the issue. Thank-you, come join us in Slack btw https://reactiveui.net/slack/

Adding search to the website

The documentation part of the website is not searchable. It should be possible to use w/wyam or google. For example: site:reactiveui.net whenactivated

ReactiveUserControl documentation is wrong

The current documentation at https://reactiveui.net/api/reactiveui/reactiveusercontrol_1/ has:

<rxui:ReactiveUserControl
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="views:AppView"
x:TypeArguments="vms:AppViewModel"
xmlns:rxui="http://reactiveui.net"
xmlns:views="clr-namespace:Love.Wpf.Views"
xmlns:vms="clr-namespace:Love.Wpf.ViewModels"
Height="450" Width="800">

This has multiple issues, including the Class being incorrect etc.

It should be something more like this:

<reactiveUi:ReactiveUserControl x:Class="MyTool.Views.JobCommentsView"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                                xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      xmlns:reactiveUi="http://reactiveui.net"
      xmlns:viewModel="clr-namespace:MyTool.ViewModels.Jobs"
      d:DesignHeight="450"
      d:DesignWidth="800"
      x:TypeArguments="viewModel:JobViewModel"
      mc:Ignorable="d">

This was originally reported as a code bug reactiveui/ReactiveUI#1684

IObservable<T>.TakeWhile(...) does not accept a base Reactivecommand

Following guide on cancelling ReactiveCommands at docs/handbook/commands/canceling, The second example under Canceling via Another Observable shows that you may cancel an observable by taking advantage of the .TakeUntil(...) method and supplying another ReactiveCommand.

This may be improved with an additional note saying that the CancelCommand Property needs to be explicitly defined with a TParam and TResult, since a bare ReactiveCommand does not implement an IObservable, but a ReactiveCommand<TParam,TResult> does.

src/ReactiveUI/ReactiveCommand.cs (v7.4.0)

/// <summary>
    /// A base class for generic reactive commands.
    /// </summary>
    /// <remarks>
    /// <para>
    /// This class extends <see cref="ReactiveCommand"/> and adds generic type parameters for the parameter values passed
    /// into command execution, and the return values of command execution.
    /// </para>
    /// <para>
    /// Because the result type is known by this class, it can implement <see cref="IObservable{T}"/>. However, the implementation
    /// is defined as abstract, so subclasses must provide it.
    /// </para>
    /// </remarks>
    /// <typeparam name="TParam">
    /// The type of parameter values passed in during command execution.
    /// </typeparam>
    /// <typeparam name="TResult">
    /// The type of the values that are the result of command execution.
    /// </typeparam>
public abstract class ReactiveCommandBase<TParam, TResult> : ReactiveCommand, IObservable<TResult>

Vsts is broken for the website pull requests

When pull requests are being done we never get a approval from vsts.

@onovotny stated the following reply to PR #120 with:

Two things:

1.  I don't see a vsts yaml file checked in anywere...it really should be for the build
2. The publish step needs a condition and(succeeded(), eq(variables['system.pullrequest.isfork'], false)) because forks cannot publish artifacts currently.

We need to get someone with access to vsts to fix these two issues

The homepage needs improving

Over in #16 (comment)

Kallyn brought this up:

IMO if I was someone who never knew about ReactiveUI or what it does, the homepage would be the most confusing. So, there are a couple of things that I would change with it:

1. The one-liner explanation only tells me that ReactiveUI is a "advanced, composable, and functional MVVM framework". As far as I'm aware, that's pretty much what every MVVM framework is (apart from the functional side). Maybe it would be better to focus on what ReactiveUI gives them? (e.g. "Gives you the power to build reactive, testable, and composable UI code using the familiar MVVM pattern")
2. Our list of features is below the community section. While I appreciate how much community is at the center of ReactiveUI, I'm assuming a lot of users don't really care at the moment they are trying to learn what ReactiveUI is and does for them.
3. We don't have a call to action. For what it's worth, I think this could simply be a prominent link to some getting started docs. The purpose is primarily to give them an avenue to learn more.

I could draft up these changes so we can discuss in a PR if anyone wants that too.

Get Reactive UI Email layout quirk

Possibly in more places, but on a Surface Pro in Edge, the "Get The ReactiveUI Newsletter" is a bit out of alignment.

image

I think this happens across pages, but certainly on the home page and the Concepts page.

Make a Work in Progress PR to remove ReactiveList

ReactiveList is going away shortly.

We should have a document page pointing towards Roland Pheasants DynamicData page as a alternative https://github.com/RolandPheasant/DynamicData/wiki/Introduction-for-ReactiveUI-users and also https://github.com/RolandPheasant/DynamicData

Also we should remove ReactiveList, IReactiveCollection, IReactiveDeriveList etc all from our documentation.

As alternatives we should be free to use DynamicData as example etc (it's likely it will become part of the ReactiveUI family anyway soon).

-

So sorry, this was a mistake.

TODO on Compiling page

Compiling page currently has a TODO for "provide overview of what each project does; document magic tricks" - we should totally do this, but I think an issue is a slightly clearer place to flag it up.

https://reactiveui.net/docs/getting-started/compiling/

I think the things worth flagging right now are

  • What happens with ReactiveUI-Events and how it gets built
  • Running unit tests
  • What the split between the TargetPlatforms and completely separate packages (e.g. ReactiveUI.XamForms) are and why they have to be like that.

We've also got https://reactiveui.net/docs/getting-started/compiling/project-structure for a more detailed overview, which needs some extra details

Link to Github should be front and foremost.

Currently the link to the github repo is buried two pages deep at the bottom of a list. Given that http:\reactiveui.net is the top google hit for reactiveui

image

then clicking through that to find the repository is non obvious

image

I would suggest using one of these icons top right or at the top level menu if possible to link directly to the github page.

https://github.com/logos

Issue with docs/handbook/commands/canceling.md

In the last part, where does the CancellationToken come from? where is it created?

EDIT: I successfully created a Cancel command with the docs :) Sorry, I didn't see that the CancellationToken was implicit in the StartAsync call.

BTW, there's a typo: sometimes the code says "cancelable" and sometimes it is "cancellable". Please, fix it.

Users need more context of what they are looking at

Here's a video of the problem:

Background Information

  • Website uses bootstrap v3, less and is generated by wyam.
  • Instructions how to build the website is in the README.md

Goals

  • Report back with ideas, if the fix is simple then send in a PR right away
  • If you want to changed everything up (this is okay) then please open a pull-request when you start your work and incrementally ask for feedback. do not wait until work is finished before sending in the pull-request (this will break my heart and your heart) - open one right away

Make team links from readme.md on main repo go to team links on website.

Due to a limitation with Github people who click on links for the different team links on the main repo's readme.md file will be taking to a 404 page.

We need to keep these links available but also describe how to be initially able to join the main organisation initially by contributing and ask on slack etc.

Formatting issues with code samples in reactiveui.net

Look at reactiveui.net Getting Started.

Then look at the Github repo for the same page.

The Github version looks correct. The reactiveui.net page does not.

Notice how ObservableAsPropertyHelper<List<FlickrPhoto>> _SearchResults; at Github becomes ObservableAsPropertyHelper> _SearchResults; at reactiveui.net

Looks like an issue with how the website inteprets the markup from github.

OS dependent based API documentation should be marked.

A user posted a stack overflow https://stackoverflow.com/questions/51667191/reactiveui-how-to-use-icollectionview-with-the-getting-started-example

The user got confused in WPF about the https://reactiveui.net/api/reactiveui/reactivecollectionviewsource_1/61104db4

He thought he should be using this in his WPF application but looking at the source code this is iOS only code.

We should clearly mark code if they are in the src/reactiveui/platforms folder to which platform they come form.

Issues with avatar images on main page.

Hi all, found this project through Up For Grabs. Hope no one minds me poking around a bit and doing little stuff as I learn.

On to the issue I am reporting. The avatars on the main page do not always load correctly.
Also in Microsoft's Edge browser, the sizing on the default generated 'user.svg' is broken.

screenshot 2017-12-16 19 46 38
screenshot 2017-12-16 19 47 22

Working on pulling the files and building locally with this Wyam thing so I can try to see what's going on.
Not sure if it is an CSS issue or an issue with the plug-in. One strange thing I've noticed, Edge centers the SVG somehow when viewing the file directly.

screenshot 2017-12-16 19 58 41

Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)
http://opencollective.com/static/images/user.svg

Clarify "new consumer" journey

From digging around in docs etc, I think we've now got more content than is easy to really follow. I think we need something like

  • a call to action on the home page that takes you to a "getting started"
  • within the "getting started" two sections
    -- Adding to an existing application - I think this needs a fair amount of content we don't have, but I think it's important to lowering the bar to entry (I guess things like Akavache/Refit with Rx might make sense here too)
    -- Starting from scratch - the samples e.g. WorkoutWotch and Cinephile

Would be good to find out if that's actually going to be helpful, and then crack on with making some content.

(It turns out the CTA on the home page already exists, I just completely missed it...maybe it's a bit subtle?)

Style: Website expansion icon displays incorrectly

I noticed that the expansion arrow that should be displayed on the website is appearing as a box. Perviously it was an arrow that would animate based on whether the navigation item was expanded or not.

image

Docs under Concepts/ReactiveUI are empty

Under Concepts/ReactiveUI there are four sections: Interactions, Reactivecommand, Whenactivated and Whenany, these are all empty md files and don't render correctly.

These four subjects are also covered in the Handbook section of the docs.

I propose two solutions:

1 (my preference)

Change the Concepts/ReactiveUI section to be a document and link to the four documents covering the subjects

2

Copy the contents of the existing documents (under Handbook) to the empty documents under Concepts/ReactiveUI. This is not a good solution as it would require extra work keeping both doucments up-to-date.

Let me know what's the desired solution (either one of the two proposed or something different), and I'll cook up a PR.

Expand how Command Parameters work and alternatives

A user got very confused about our overloads for the CommandParameters and how they worked.

We probably need to expand the Command section to go more indepth, maybe have a example for Delete Item or something and how you can use CommandParameter or ViewModel property binding (and the ViewModel property binding is the more common).

https://stackoverflow.com/questions/51870148/cant-bind-a-button-in-a-listview-to-viewmodel-using-reactiveui/51870526?noredirect=1#comment90693221_51870526

Clarify BindTo is one way

StackOverflow user brought up the fact that the BindTo() documentation isn't clear if it's one way.

We should make this explicit.

Change build to use latest Cake version

I am receiving the following error when trying to build locally on the 0.21.1 version of Cake.

Attempting to gather dependency information for package 'Wyam.1.0.0' with respect to project 'C:/Users/rlittles/.cake/tools', targeting 'Any,Version=v0.0'
Gathering dependency information took 171.52 ms
Could not find any relevant files for tool 'Wyam'. Perhaps you need an include parameter?
Error: Cake.Core.CakeException: Failed to install tool 'Wyam'.
   at Cake.Core.Scripting.ScriptProcessor.InstallTools(ScriptAnalyzerResult analyzerResult, DirectoryPath installPath)
   at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary`2 arguments)
   at Cake.Commands.BuildCommand.Execute(CakeOptions options)
   at Cake.CakeApplication.Run(CakeOptions options)
   at Cake.Program.Main()

This is resolved by bumping the cake version forward to allow for versioned cake dependencies.

Suggestion: Add Framework Comparison Page

A few months ago, I was looking for a new JavaScript framework for a project I am working on. Several people in the community pointed me to VueJS. On their website they have a comparison page (https://vuejs.org/v2/guide/comparison.html) which listed the other popular frameworks and provided a comparison. It was a good faith comparison, that took an objective view at pro's and cons.

I wonder if we should do something like this on reactiveui.net? I think that it may help people understand where this framework shines. We could even call out which frameworks can coexist in the same project.

Frameworks up for comparison would be:

@reactiveui/learning-team @reactiveui/core-team Do we think this adds value? Please discuss!

The footer looks really janky on desktop and even more so on mobile

Here's a video of the problem:

Background Information

Goals

  • Make it nice or redesign it completely. Your call. Just make it less janky.

Unable to build a website locally

Not sure what is causing this, but now I am constantly getting this error:

Error: The assembly 'Cake.Wyam, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null'
is referencing an older version of Cake.Core (0.22.2).
This assembly must reference at least Cake.Core version 0.26.0.
Another option is to downgrade Cake to an earlier version.
It's not recommended, but you can explicitly opt out of assembly verification
by configuring the Skip Verification setting to true
(i.e. command line parameter "--settings_skipverification=true",
environment variable "CAKE_SETTINGS_SKIPVERIFICATION=true",
read more about configuration at https://cakebuild.net/docs/fundamentals/configuration)

Steps to reproduce:

  1. Clone the repo
  2. Try to build it following the instructions from README
.\build.cmd -Target preview

So I'm unable to contribute :)

Get rid of all the chat logs in our documentation

One thing that frustrated me a lot when first starting (and it's gotten better but not perfect) is chat logs in the documentation to talk about a feature.

It is usually much harder to follow. We should target those chat logs and change them to proper documentation.

Cannot build website locally

When I attempt to build the website locally I get the following error:

Preparing to run build script...
Running build script...
Analyzing build script...
Processing build script...
Installing tools...
Installing addins...
Could not find any assemblies compatible with .NETFramework,Version=v4.5.
Error: Failed to install addin 'Cake.Git'.

I use the built in build.cmd on windows 10. I have installed 4.5 and also legacy through the windows feature website.

More Documentation about RecyclerViewAdapter in Xamarin.Android

Hi
I'm trying to use ReactiveUI on Xamarin.Android with RecyclerViewAdapter where it is loaded with information which comes from a rest service. this info will be updated when user use a search field.

I found resources to implement this funcionality, but I could not find anything about.

Could you please improve the documentation, and tutorials for android developers?

thank you in advance

API Search Does Not Display Generic Type Params

multiplereactivecommand
It looks like the API documentation does not display generic type parameters in the search results box.
This can be annoying, especially when there are 4 results. πŸ˜†

Not exactly sure where to change the API output, so if someone wants to point me in the right direction I would appreciate it. Alternatively this might be an issue with Wyam, so we might have to report this upstream.

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.