Giter Club home page Giter Club logo

articulate's People

Contributors

abhilash-im avatar adayinthelifeofapro avatar bokmadsen avatar bowserm avatar danbiscotti avatar dependabot[bot] avatar dinc5150 avatar efabioli avatar erikjanwestendorp avatar gavinfaux avatar jasoneleventeen avatar jeavon avatar lukejkw avatar marcemarc avatar meixger avatar nvisage-gf avatar owainwilliams avatar readmecritic avatar scottguymer avatar shazwazza avatar simonech avatar skidmow avatar steve-swanson avatar stokesy43 avatar vnbaaij avatar witheej avatar wvdweerd 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  avatar  avatar  avatar  avatar  avatar

Watchers

 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

articulate's Issues

The route URL separator character '/' cannot appear consecutively. It must be separated by either a parameter or a literal value.

I am aware that there is a previous issue about this problem but I am very stuck. I am using Umbraco 7.2 with Articulate 1.05. All up to date and everything. This problem happened when I decided to try hanging a blog directly under my home page. I understand from the Wiki that this is now possible. I am now unable to get into the back office (or look at the front of my website) to remove the offending second blog.
Sadly, I have not backed up my database for two weeks, so I am going to lose a lot of work. I have tried removing the new nodes from the database without much success. This is not an ideal way to work in any case. My database is now restored to how it was just after adding the second blog. The first blog is just under the root, as added by the Articulate package.
I am using Visual Studio 2013.
I would be grateful for any help getting myself out of this mess!

Importing from BlogML failed

So I've been playing with Articulate and was interested in the import feature as we currently have a WordPress site.

  • I exported my WordPress blogs.
  • I ran the exported XML through http://wpblogml.codeplex.com/ to get BlogML.
  • When I imported this file I could see a "Importing 116 blog posts..." message but then a YSOD telling me to check the log.

Log contains:

2014-09-12 09:41:47,264 [5] ERROR Articulate.BlogMlImporter - [Thread 74] Importing failed with errors
System.NullReferenceException: Object reference not set to an instance of an object.
   at Articulate.BlogMlImporter.<ImportPosts>d__1b.MoveNext() in x:\Projects\Articulate\Articulate.Project\Articulate\BlogMlImporter.cs:line 255
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Articulate.BlogMlImporter.<Import>d__0.MoveNext() in x:\Projects\Articulate\Articulate.Project\Articulate\BlogMlImporter.cs:line 84

I've uploaded a copy of my BlogML here.

Macro Partials don't work on virtual pages

I am encountering issues with using macro partials in articulate. When visiting category pages, the macro errors out. This happens even when the macro partial has nothing but the inherits statement at the top. It does work as expected with the non virtual pages though.

I've also found that this is not an issue with the old way of handling Macros (using MacroEngines).

I am using v 1.0.3. Does 1.0.4 address this issue? The project I'm using it for is nearing launch, so I'm reluctant to risk the upgrade.

Install issues

Umbraco v7.1.4 fresh install, local, through WebMatrix

when loading package get a 'binary file errors detected'

i did try to proceed with install, hung. never completed.

fix for useDomainPrefixes set to true

If useDomainPrefixes is set in umbraco.settings, then the tag cloud and other areas do not render hyperlinks correctly.

changes I have made to fix are in the attached image

spc changes to fix usedomainprefixes

MSBuild Error, could not find part of path .../Articulate/Themes/Views/web.config;/views/web.config

When managing an umbraco project in visual studio using it's nuget package and added articulate to the project in visual studio you cannot deploy via MSBuild because the web deploy .targets file is bombing out trying to do web.config transformations on web.config in theme view folders in articulate.

To get around this I had to disable connection tokenization on web.config transforms by adding

False

to my csproj file in visual studio.

I'm not sure if this is a problem with umbraco's .targets file bombing out on publishing stuff in the app_plugins folder or if it's something articulate is doing to cause it.

Ideally though, we should be able to publish from visual studio without it failing on web.config's in the articulate theme -> some theme -> views -> web.config files.

Insert image - Cannot read property 'replace' of undefined

Hi Shannon,

articulate is a brilliant package thanks for putting it together.

I am having trouble inserting images in the markdown editor, I get the following error when you click on an image:

TypeError: Cannot read property 'replace' of undefined
at properlyEncoded (http://purpleapron_dev/umbraco/lib/markdown/markdown.editor.js?umb__rnd=7.1.4.361927428:1589:23)
at linkEnteredCallback (http://purpleapron_dev/umbraco/lib/markdown/markdown.editor.js?umb__rnd=7.1.4.361927428:1657:48)
at Object.dialogService.mediaPicker.callback (http://purpleapron_dev/umbraco/js/umbraco.controllers.js:4839:6)
at Object.scope.submit (http://purpleapron_dev/umbraco/js/umbraco.services.js:1419:36)
at Object.$scope.clickHandler (http://purpleapron_dev/umbraco/js/umbraco.controllers.js:1037:32)
at http://purpleapron_dev/umbraco/lib/angular/1.1.5/angular.min.js:74:98
at http://purpleapron_dev/umbraco/lib/angular/1.1.5/angular-mobile.js:270:9
at Object.e.$eval (http://purpleapron_dev/umbraco/lib/angular/1.1.5/angular.min.js:92:272)
at Object.e.$apply (http://purpleapron_dev/umbraco/lib/angular/1.1.5/angular.min.js:92:379)
at HTMLAnchorElement. (http://purpleapron_dev/umbraco/lib/angular/1.1.5/angular-mobile.js:269:13)

Pager url issues in category pages when blog is not root

Some of the values in PagerModel are not set correctly inside virtual pages. In the case I'm running into, the blog is a child of the home page, with the url "/blog." When I visit one of the category pages Model.NextUrl and Model.PreviousUrl in the Pager partial both start with "/blog/blog."

Hostnames and RouteCollectionExtensions.cs YSOD

Running articulate on a site with hostnames defined, will cause problems (e.g. www.myurl.eu):

YSOD:

The route URL separator character '/' cannot appear consecutively. It must be separated by either a parameter or a literal value.

Parameter name: routeUrl

Line 11: object constraints = null, string[] namespaces = null)
Line 12:   {
Line 13:      var route = RouteTable.Routes.MapRoute(name, url, defaults, constraints,    namespaces);
Line 14:      route.RouteHandler = virtualNodeHandler;
Line 15:      return route;

Source File: c:\Users\kris\Documents\Articulate\Articulate\RouteCollectionExtensions.cs    Line: 13 

The parameter url being passed is:

"http://www.myurl.eu/blog/rss"

This could be avoided by using node.UrlName instead of node.Url in ArticulateRoutes.cs, unless of course that could case issues in other cases. In which case url could probably be cleaned up with a regex or something.

NullReferenceException on Shazwazza theme

I have an existing site for my research project where I wanted to integrate the blog:

  1. I installed the package
  2. Updated the Home Node doctype to accept Articulate as child.
  3. Moved the blog root to be a child of my Home node

At this point, the theme was Shazwazza. Subsequent page visit will yield YSOD:

Object reference not set to an instance of an object.
Source File: \\192.168.0.100\localuser\logocare\catsense\App_Plugins\Articulate\Themes\Shazwazza\Views\Partials\TagCloud.cshtml    Line: 12 
@Html.TagCloud(tagModel, 5, 50)

Other styles seem to work just fine.

Surface Controllers on Pages Using VirtualRouteHandler Don't Fire

I've noticed that if you have a surface controller on a page that is routed using the new UmbracoVirtualNodeRouteHandler methods, the surface controller never fires. It submits, but it doesn't seem to hit the action.

If I use an IContentFinder to populate the PCR content rather than the UmbracoVirtualNodeHandler, the surface controller works as expected.

Install issue on U 7.1.4: Could not load type 'Articulate.Controls.Installer'.

I just trie to installed the package from our (as local).

This attempt ends in:

Could not load type 'Articulate.Controls.Installer'.
<%@ Control Language="C#" AutoEventWireup="true" Inherits="Articulate.Controls.Installer" %>
Line 2:
Source File: /App_Plugins/Articulate/BackOffice/Installer.ascx Line: 1

Error log here

Cheers,

Kris

HasProperty on a partial view throws an error when ListModel is the current Model

I am trying to integrate Articulate into an existing website. It's not running on the root node.
There is a partial view which inherits from UmbracoViewPage

I check whether a property exists with Model.HasProperty("myAlias"). But when a model of type {Articulate.Models.ListModel} is passed, an null reference exception is thrown. I guess because the ListModel doesn't implement the "ContentType" property.

What is the best way to solve this?

Kind regards

Add an event after ListModel and PostModel have been created in the controller, fired before returning the model to the view

Hi Shannon,

What do you think about about adding a static event to a couple of your controllers that would allow a developer to send a different model back to the view.

In our situation, we would like to create models that accepts ListModel and PostModel in their constructors that also inherits from our site specific "ViewModelBase" so that we can use our views more easily.

If something like

public static event TypedEventHandler<ArticulateController, ModelConstructedEventArgs<IMasterModel>> ModelConstructed;

was add to ArticulateController and ArticulateMarkdownController

That would be called before the return

 var listModel = new ListModel(listNode, pager); // this may have to be IListModel listModel = 
 ModelConstructed.RaiseEvent(new ModelConstructedEventArgs<IMasterModel>(listModel), this);
 return View(PathHelper.GetThemeViewPath(listModel, "List"), listModel);

We could build our own models that inherited from ListModel and PostModel and add some extra goodies.

I tried to build this in the solution and do a pull but don't know where to get the ClientDependency beta dependencies.

Unclean uninstall

V7.2.1
Uninstalling Articulate leaves an "Articulate Importer" tag in the Developer section.

Also get a 404 /App_Plugins/Articulate/BackOffice/Dashboards/BlogImporter.html when opening the developer section.

TagCloud can cause null reference exception

I'm not sure how to duplicate this but I've seen it once. I do have a stack trace though so surely i can identify the null ref:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Articulate.UmbracoHelperExtensions.<>c__DisplayClass10.<GetContentByTags>b__b(PostModel c)
   at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count)
   at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
   at Articulate.Models.PostsByTagModel.get_PostCount()
   at Articulate.Models.PostTagCollection.<GetTagWeight>b__0(PostsByTagModel x)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.Max(IEnumerable`1 source)
   at Articulate.Models.PostTagCollection.GetTagWeight(PostsByTagModel postsByTag, Decimal maxWeight)
   at Articulate.HtmlHelperExtensions.<>c__DisplayClass6.<TagCloud>b__3(PostsByTagModel x)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
   at System.Linq.Enumerable.<TakeIterator>d__3a`1.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
   at Articulate.HtmlHelperExtensions.TagCloud(HtmlHelper html, PostTagCollection model, Decimal maxWeight, Int32 maxResults)
   at ASP._Page_App_Plugins_Articulate_Themes_Shazwazza_Views_Partials_TagCloud_cshtml.Execute()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
   at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   at Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection)
   at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   at Articulate.HtmlHelperExtensions.ThemedPartial(HtmlHelper html, IMasterModel model, String partialName, ViewDataDictionary viewData)
   at ASP._Page_App_Plugins_Articulate_Themes_Shazwazza_Views_Master_cshtml.Execute()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.WebPages.WebPageBase.<>c__DisplayClass7.<RenderPageCore>b__6(TextWriter writer)
   at System.Web.WebPages.HelperResult.WriteTo(TextWriter writer)
   at System.Web.WebPages.WebPageBase.Write(HelperResult result)
   at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
   at System.Web.WebPages.WebPageBase.PopContext()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
   at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   at Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
   at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
   at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__19()
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
   at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
   at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

TagListModel implements iMasterModel rather than inheriting MasterModel

PostModel and ListModel both inherit from MasterModel, but for some reason TagListModel implements iMasterModel. This causes an error if you want to use

@inherits Umbraco.Web.Mvc.UmbracoViewPage<Articulate.Models.TagListModel> or @model dynamic in Tags.cshtml

I have change the code in TagListModel.cs to

public class TagListModel : MasterModel
{
    public TagListModel(
        IMasterModel masterModel, 
        string name, 
        int pageSize,
        PostTagCollection tags)
        : base(masterModel.RootBlogNode)
    {
        Tags = tags;
    }

    public PostTagCollection Tags { get; private set; }

}

I don't know if this affects any other area of the code, but it seems to be running fine with this change.

Selecting an author on a blog post

At the moment, the author field on a blog post is a text field, when the page is rendered the name in this field is either matched with the name in the Authors node or a user in the backoffice.

In order to reduce typing errors and make this easier, an autocomplete style data type can be created.

The configuration of the data type will include

  • Relative path or content picker for the authors node
  • Option whether auto complete will populate from the authors node or the users or both
  • If the users is used then specify a user type to list the users from

The data type should also allow a name to be saved which is not in either of these lists.

Articulate MetaWeblog route and Contour

On a site with contour installed alongside Articulate, trying to submit contour forms will fail.

Upon submission user is redirected to:

/blog/metaweblog?action=ContourForm&controller=FormRender

Page reloads to:

<methodResponse>
    <fault>
        <value>
            <struct>
                <member>
                    <name>faultCode</name>
                    <value>
                        <i4>0</i4>
                    </value>
                </member>
                <member>
                    <name>faultString</name>
                    <value>
                        <string>Request from client does not contain valid XML.</string>
                    </value>
                </member>
            </struct>
        </value>
    </fault>
</methodResponse>

For the moment I have commented out the addition of the Metaweblogroute and this resolves the issue. I did not yet have time to look at what is really going on.

Categories and Tags list pages not working with @Umbraco.GetDictionaryValue

Hello, I'm running into an issue with articulate and languages.

Here are the steps to reproduce:

  1. Install articulate into a fresh site
  2. Create more than one language in the site
  3. Create a dictionary item in one of the languages
  4. Right click on the automatically generated root "Blog" node under "Content" then click "Culture And Hostnames"
  5. Set the language to the language that contains your dictionary item
  6. Replace @model Articulate.Models.ListModel with @inherits Umbraco.Web.Mvc.UmbracoViewPage<Articulate.Models.ListModel> in the "VAPOR\Views\List.cshtml" template to allow for Umbraco dictionary items to function
  7. Place the dictionary item "@Umbraco.GetDictionaryValue("ItemAlias")" in the "VAPOR\Views\List.cshtml" template towards the top so that you can easily see it
  8. Navigate to the Archive page and see the dictionary item properly rendered in the page
  9. Navigate into the "Test Post" and click the "TestCategory" or "TestTag" link
  10. You'll be taken back to the list page filtered by the tag or category but you dictionary item will no longer be visible

I hope that is enough info to reproduce. Thanks.

Sort order of posts within Back Office

Not sure of this is something that needs to be done within Umbraco itself.
When adding a new item to the list view, it would be nice to have the newly added items being displayed first by default (currently, it is showing the oldest item first).
I know we can change the order via the titles, but i think it would be nicer for the order to descending by default.

Articulate Pager and Search Results

Hello,

When using the search form in articulate and getting a list of results that trigger pagination, it will cause a page not found error when clicking the pager buttons.

The easiest way to see this is to create a blog, add three posts, set your page size to 1 in the back office, navigate to the blog, click the pager button for older posts, receive the following error:

Page not found
No umbraco document matches the url '/blogs/search?term=test&p=2'.
This page can be replaced with a custom 404. Check the documentation for "custom 404".
This page is intentionally left ugly ;-)

Option for date parts to appear in URL, e.g., /blog/2014/10/17/my-article

The concern would be for an existing blog (on another platform) that has lots of existing, permanent URLs that we would like to preserve when moving to the Articulate platform. I also see variants on this other places where just the year and month, or just the year by itself, are also used in path parts. For example, /blog/2014/my-article or /blog/2014/10/my-article.

Another concern I have related to this, is that it seems to me with all blog posts lumped under a single node, over time on a very large & active blog, you run the risk of "title collision," e.g., "Press Release(13)" or "What's new this Month(21)". I also think, personally, having the date of a published blog article as part of its URL is nice and re-assuring to find when coming across random articles on the web, especially those that are time-sensitive... This is just a personal preference, but the preservation of existing URLs is the real concern. Thank you!

Items in Recycle bin being processed

Not certain if this is a Blog issue or Umbraco.
When using the tags.cshtml the following line
Model.Tags.ToArray()
Appears to be returning items from the recycle bin. This caused an issue as it was returning an Object not Found exception. In my specific case, i created a test post but did not add a published date but did use a test category tag.
The tag was being picked up, but was causing exceptions when viewing that category as the date published was not set.

Clearing my recycle bin cleared up all the issues.

Tag Cloud is URL encoding fully qualified URL

I am running articulate using host names (I have implemented the fix in issue 11) and have noticed the tag cloud is rendering fully qualified links with URL encoding (i.e.encoding http://).

I have changed stringExtensions.cs to remove the http:// before encoding and then replace it after encoding and modified PotsByTagModel.cs to not add the / to the start if the url begins with http://.

Code is available if you want it.

The mobile markdown editor route is broken

Normally you'd just type in

/a-new

to launch the mobile editor, or wherever your blog root is, such as

/my-blog/a-new

however, this has been broken since last release and requires you to enter the Id of the node which isn't ideal.

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.