Code Monkey home page Code Monkey logo

component.github.io's Introduction

web component logo

THIS PROJECT IS DEPRECATED

Component is not maintained anymore. See here #639 for more information.

You can still use the component registry on component.github.io to search for components. All the components are not affected, because most of them also provide a package.json file. The component.json files in these components are still kept to provide backwards compatibility for component and duo.

What now?

Consider to use another tool, which rely on the npm and the package.json standard:


Component is a vertically integrated frontend solution, handling everything from package management to the build process, handling everything including HTML, JS, CSS, images, and fonts. Think of it as an opinionated npm + browserify + rework-npm + grunt/gulp/broccoli all wrapped into component build.

Want to know more about Component? Visit the guide or view the comparison with other solutions.

If you're confused about component, components, componentjs, please read disambiguation

Component 1.0.0: Several major new features have been added, some have been removed, and the project has been greatly reorganized. You may need to upgrade your version of node and/or npm to avoid breakage. Please see the detailed changelog. Component 0.x will not be maintained anymore.

Installation

First, you need node v0.10+ installed. If you do not have it installed, visit node's download page.

With node installed, run the following command:

 $ npm install -g component

Getting Started

Read this Getting Started guide to get a basic static site running very quickly with Component.

Note: the Component repo (this repo) has only documentation for Component 0.19. All of the documentation related to 1.0.0 will be handled in the guide repo.

Team

The team and organization have undergone massive changes. In summary, jonathanong stopped developing Component and started with normalize.io and the guys from segmentio switched to using duo. Component will still be maintained and updated while it is in use. You can read more about Duo.js and Component here.

The long story of Component and the changes that occurred in component can be found in Jonathan Ong's blog post "the future of component".

Development for component (maintenance and features) will be continued at the latest when latest browsers will support the ES6 modules and Web Components natively.

Contributors

component.github.io's People

Contributors

buschtoens avatar forbeslindesay avatar hkjels avatar ianstormtaylor avatar jamesmgreene avatar jkroso avatar jonathanong avatar nmussy avatar stephenmathieson avatar timaschew avatar tj 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

component.github.io's Issues

live examples

not sure the best way to do this, but since a lot of components are UI-related, it'd be really great to have a place to play around with live examples.

some assumptions would probably have to be made about how to create examples, but I think the community is flexible enough to adopt some sort of standard practice.

Static page access

As brought up in #30 it would be pretty useful to have a static version of each and every site abailable. At least the index and component pages should be available without ajax.

list instead of grid

not actually too fond of grids, they're distracting when you actually want to read through

site down

Unless you're already aware, or working on something, thought I'd let you know the site is currently down.

http://component.io/

502 Bad Gateway

Might be related to the recent commits.

Direct link to component's page works, search does not

Not sure if this is a known issue...if it is, obviously disregard; however, this is the situation:


### Added a component [`selectn`](http://component.io/wilmoore/selectn) to wiki:

wiki


### Direct [link to `selectn`](http://component.io/wilmoore/selectn) page works fine (thanks for building discoverable/obvious routes ๐Ÿ‘ ):

direct


### Unfortunately, search does not represent the same:

search

How to add repositories?

Hello,

How can I actually add my component projects:

I looked through the code but do not find anything that serves http://component.io/components.

setup nginx cache

usually use varnish but I have nginx setup already so things need to be configured

Sorting components

Maybe we should sort the components by stars. Would be user-friendlier.

Keyword overflow

image

What do we do with too many keywords?

  1. Limit the array to a certain length
  2. Automatically cut them off with extra css and extra wrapping markup (overflow: hidden)
  3. Same as 2 but on :hover make the cut off keywords visible.

Streaming builder?

It would be very possible to build a version of conponent-builder that streamed the resulting file, This would run pretty slowly, but extremely scaleable. Do we want to do that?

range search

not a big deal right now but once we have more components the initial dom junk will be pretty heavy if we dont do an infinite scrolling sort of display

Caching

We're going to need some clever caching and a good way to invalidate our caches. The home page and the listing pages for each user (/:user) will require us to send off hundreds of requests to github to render just one page, so we really need to sort out a good strategy for caching and invalidating that cache.

We could work on the bases of keeping all/most caches valid for a very long time (perhaps several hours) and then add a route:

app.all('/:user/:repo/invalidate-cache', function (req, res) {
  //invalidate cache here
});

That way people could tell us when our cache needs updating using a GitHub hook.

For building our components we really want to cache each component once, we don't want to duplicate for every component we build that has it's own dependencies, so the build will have to be somewhat customised relative to component(1)'s current method of building.

search text indexing failing?

"touch" should display fastclick which has "Polyfill to remove click delays on browsers with touch UIs." touch right in the description

syntax highlighting

only really need css / js, parse md on the server when priming the cache and parse the code blocks with pygments

package.json => component.json, component.json => package.json

Now that I've actually experienced publishing a component to the component(1) registry and npm and bower (some people are into that, so why not), I'm noticing that better tooling to automate some of the tedium would be nice.

Like, when I bump the version, it's kinda annoying to have to do it in {package,component}.json as well as bump History.md.

I realize that the tool shouldn't do everything for you; however, something to at least convert one json format to the other might be a good idea even if it is only useful for some folks.

replace component pages with inline expansion

slide out contents, this makes a few things a bit easier, and a bit less "shock" when your search results are suddenly gone. This may have implications once we implement search pagination (even when infinite) however.

Search not working: search/json returns 404

This is happening for a few days now so I'd let you now:

When I enter the site I see the compment list as expected but when I search I get:

Sorry, no results for that query! Try again!

If I look in the dev console I see the search api is status 404:

Request URL:http://component.io/components/search/json
Request Method:GET
Status Code:404 Not Found

The response data is an empty array.

This is on FireFox 22.0 and Chrome in Windows.

comparison table

to make the differences clear between various solutions out there and the pros/cons of each

add stats and graphs

to individual repos (# of deps / dependents etc), and global stats like our author count, component count, counts per category etc

Site Structure

I propose the following site structure:

/ => The site's home page should contain a listing of all available components (paged if need be) with a search box and links to a few other key parts of the site. The components in this listing should display their license and number of stars on GitHub. They should be grouped by category based on the wiki, and sorted by number of stars in GitHub, then alphabetically within that.

/about => this userID is not available in GitHub, I think it should contain an introduction to Components + a Getting Started guide with accompanying video and a few sample projects in GitHub.

/:user => should show a listing of all the components a given user has produced, it should look very much like the one displayed on the home screen.

/:user/:repo => The primary listing page for each component. It needs to display some key info about the repo: browser compatibility based on automated tests, License, number of stars, dependencies, dependants, installation instructions/links to different pre-made builds. I would like to also display the readme with an automated table of contents so that this can be used as the home page for most components.

/:user/:repo/download => Listing for downloads of the component. This should include minified and unminified. standalone builds of each version of the library, it should also include a build of the library that doesn't include any dependencies or the require script so that you could have:

<script src="https://component.io/require.js"></script>
<script src="https://component.io/foo/bar/download.js"></script>
<script src="https://component.io/foo/baz/download.js"></script>
<script>
  var bar = require('bar');
  var baz = require('baz');
</script>

We need to decide exactly how we structure the URLs for download links. We need to have at least one link to the latest standalone unminified build as that will allow us to get most of the components submitted to microjs.com (see microjs/microjs.com#344)

/component-badge.svg => should serve the SVG for the component badge:

badge

Anyone got any to add/not like any of these?

search concept

Here's a concept for the search box that makes it accessible all over the site, and still not that intrusive. Basically there's a small fixed row at the bottom of the page that's always there (a slightly darker color than the current page, so it looks recessed) and it's the component index. Clicking it would make it expand, taking over almost all of the screen (up to the top navigation, which will always remain visible).

photo

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.