🌐 AI搜索 & 代理 主页
Skip to content
This repository was archived by the owner on Jan 9, 2020. It is now read-only.

Commit cafdbd7

Browse files
committed
Moving all docs to their new home.
1 parent 9eb0de2 commit cafdbd7

File tree

9 files changed

+478
-31
lines changed

9 files changed

+478
-31
lines changed

README.md

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,41 @@
11
# mongodb-js
22

3-
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mongodb-js/mongodb-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
3+
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mongodb-js/mongodb-js)
4+
5+
Hi, welcome to mongodb-js, a collective of JavaScript that does things to or with MongoDB.
6+
7+
<dl>
8+
<dt><a href="./docs/setup.md">Setup</a></dt>
9+
<dd>
10+
A step by step guide for getting your environment ready to work with JavaScript.
11+
</dd>
12+
<dt><a href="./docs/new-to-js.md">New To JS</a></dt>
13+
<dd>
14+
Helpful links and resources for developing with modern JavaScript.
15+
</dd>
16+
<dt><a href="./docs/modules.md">Modules</a></dt>
17+
<dd>
18+
A glossary of modules we use and a bit about why each is special.
19+
</dd>
20+
<dt><a href="./docs/services.md">Services</a></dt>
21+
<dd>
22+
A glossary of commonly used services you might see from time to time.
23+
</dd>
24+
<dt><a href="./docs/editor-plugins.md">Editor Plugins</a></dt>
25+
<dd>
26+
Our favorite plugins and add-ons that make us happier and more productive.
27+
</dd>
28+
<dt><a href="./docs/transferring.md">Transfering Projects</a></dt>
29+
<dd>
30+
How and why to transfer projects from your personal GitHub account into
31+
the mongodb-js organization.
32+
</dd>
33+
<dt><a href="./docs/quality.md">Quality</a></dt>
34+
<dd>
35+
Documentation, versioning, style, and testing measures we deploy to keep
36+
the entire organization green.
37+
</dd>
38+
<dt><a href="https://github.com/issues?q=is%3Aopen+is%3Aissue+user%3Amongodb-js&user=mongodb-js">Where can I help?</a></dt>
39+
<dd>GitHub's open issues dashboard aggregates across all of mongodb-js and is a great place to find easy ways you can start contributing today.</dd>
40+
</dl>
441

5-
Hi, welcome to mongodb-js. Here is some information to get you started as a contributor:
6-
7-
## Setup
8-
9-
### 1. Install node.js and npm
10-
11-
For Mac and Windows, get the installer from [nodejs.org][node-download]
12-
and install it. That will get you `node` and `npm`.
13-
14-
For Linux distributions, check [this article][install-linux] on how to install
15-
a current version of node.js. (Note: the article is also linked from
16-
[node's wiki page][node-wiki-install].)
17-
18-
### 2. Setup git and GitHub
19-
20-
See [Setting up Git][git-setup]
21-
on GitHub's website for instructions to get started with git and GitHub.
22-
23-
24-
### 3. Join gitter channel
25-
26-
We're hanging out on [gitter.im][gitter-monogodb-js], join the channel to stay
27-
up to date or ask questions.
28-
29-
30-
[install-linux]: https://nodesource.com/blog/nodejs-v012-iojs-and-the-nodesource-linux-repositories
31-
[node-download]: https://nodejs.org/download/
32-
[node-wiki-install]: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
33-
[git-setup]: https://help.github.com/articles/set-up-git/#setting-up-git
34-
[gitter-mongodb-js]: https://gitter.im/mongodb-js/mongodb-js

docs/daily.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Daily Things to Know
2+
3+
## Committing/Branching/Naming
4+
5+
For small ("micro-")modules, it's okay to just have a single _master_ branch.
6+
7+
For anything larger (like apps, or complex modules) we're loosely following
8+
[nvie's branching model](http://nvie.com/posts/a-successful-git-branching-model/),
9+
where _master_ is the stable branch, _develop_ (or _dev_) is bleeding edge,
10+
and bufixes and features live on feature branches until they are reviewed and
11+
merged into the develop branch. nvie's release and hotfix branches are not
12+
that important (at least not yet).
13+
14+
In any case, please read the `CONTRIBUTING` document in the repo's root
15+
directory for specific instructions how to contribute.
16+
17+
If you send a pull request, please also check what branches exist on the
18+
target repo. If there is more than one branch, then you should probably not
19+
send pull requests to _master_.
20+
21+
> @todo: continue naming scheme mongodb-{functionality}?
22+
23+
## Profiling & Debugging
24+
25+
- [traceviewify](http://thlorenz.github.io/traceviewify/) Converts .cpuprofile
26+
format to trace viewer JSON object format to allow analysing the data in `chrome://tracing`
27+
- [node-inspector](https://www.npmjs.com/package/node-inspector) debugger
28+
interface for Node.js applications that uses the Blink Developer
29+
Tools (formerly WebKit Web Inspector).
30+
- [look](https://github.com/baryshev/look) Performance profiler based
31+
on [nodetime](https://nodetime.com/)
32+
- [automated-chrome-profiling](https://github.com/paulirish/automated-chrome-profiling)
33+
use `chrome-remote-interface` instead of manually opening files in chrome.

docs/editor-plugins.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Editor Plugins
2+
3+
Our favorite plugins and add-ons that make us happier and more productive.
4+
5+
## Sublime Text 2/3
6+
7+
If you use Sublime Text as your editor, you may find these plugins from [Sublime Package Control](https://packagecontrol.io/installation) useful:
8+
9+
- [jsfmt](https://packagecontrol.io/packages/jsfmt) a sublime plugin for [jsfmt](http://rdio.github.io/jsfmt/). Helps to keep a consistent code style for your JavaScript. [Install via Package Control](https://github.com/ionutvmi/sublime-jsfmt#installation)
10+
- [SublimeLinter-jshint](https://packagecontrol.io/packages/SublimeLinter-jshint) a sublime plugin for the language-agnostic [SublimeLinter](https://packagecontrol.io/packages/SublimeLinter) plugin, using [jshint](http://jshint.com/). Checks for common mistakes and problems in your JavaScript code, like globally defined variables, missing semicolons, etc. Make sure to follow the installation steps listed on the [website](https://packagecontrol.io/packages/SublimeLinter-jshint).
11+
- [Jade](https://packagecontrol.io/packages/Jade) Syntax highlighing for .jade files (html templates)
12+
- [Less](https://packagecontrol.io/packages/LESS) Syntax highlighting for .less files (css meta language)

docs/modules.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Modules We Use
2+
3+
Here is a rundown of some of the modules we love and use.
4+
5+
## [Gulp][gulp]
6+
7+
[Gulp][gulp] is a build tool like grunt or
8+
broccoli, or Make and scons if you don't usually work with JS. Gulp is
9+
different from other JS tools in that it is streams centric and just
10+
javascript. Unlike grunt, you don't have massive config objects you must
11+
conform to; it takes a code over configuration approach much like Make.
12+
If you're interested in learning more,
13+
[here is a very detailed example][gulp-intro].
14+
15+
## [Jade][jade]
16+
17+
[Jade][jade] is our templating language
18+
of choice. Jade is great because:
19+
20+
- light enough to use on the client via browserify
21+
- robust enough to use on the server (e.g. support for layouts and blocks)
22+
- whitespace significant -> no "I forgot to close a tag" bugs
23+
- no clumsy separation and helper assignment like handlebars (<3 mixins!)
24+
25+
## [LESS][less]
26+
27+
CSS is compiled from [LESS][less] files, which is great because:
28+
29+
- Use real variables
30+
- File imports
31+
- Declarative property nesting
32+
- Source map support
33+
- Composable with other modules
34+
35+
## [Browserify][browserify]
36+
37+
Javascript is compiled by [browserify][browserify] which works
38+
kind of like this:
39+
40+
- given an entry point like `ui/app/index.js`
41+
- follows the dependency graph opened from the entry point
42+
- resolve dependencies from `node_modules/`
43+
- puts all sources in one file
44+
- each file of the graph in its own closure/scope
45+
46+
browserify is a huge win because we can write our client side code
47+
exactly like our server code (minimized context switching cost) and
48+
easily reuse modules between the server, the ui and other teams
49+
(check out the [mongodb.js keyword][mongodb.js] on npm).
50+
51+
For more details, here are some slides from a
52+
[talk @ Mongodb][browserify talk]
53+
on npm and browserify.
54+
55+
## [Ampersand.js](http://ampersandjs.com/)
56+
57+
Highly modular, loosely coupled, non-frameworky framework for building advanced
58+
JavaScript apps that is an evolution of Backbone.js that maximizes simplicity:
59+
60+
- Everything is a CommonJS module.
61+
- Everything is installed via npm.
62+
- Everything is MIT licensed.
63+
- Trusted versioning with semver.
64+
- Modern browsers by default; unapologetically supporting only IE9+.
65+
- The browser is a runtime, not a document viewer.
66+
67+
## [jshint](http://jshint.com)
68+
69+
JSHint is a program that flags suspicious usage in programs written in JavaScript.
70+
The core project consists of a library itself as well as a CLI program
71+
distributed as a Node module.
72+
73+
## [jsfmt](https://github.com/rdio/jsfmt)
74+
75+
For formatting, searching, and rewriting JavaScript. Analogous to
76+
[gofmt](http://golang.org/cmd/gofmt/).
77+
78+
## [sweet.js](http://sweetjs.org/)
79+
80+
Define your own hygienic macros of languages like Scheme and Rust in your
81+
modules to spend less time on the keyboard.
82+
83+
## [express](http://expressjs.com/)
84+
85+
Express is a minimal and flexible Node.js web application framework that
86+
provides a robust set of features for web and mobile applications.
87+
88+
## [mocha](http://mochajs.org)
89+
90+
A simple and ubiquitous test runner for JS on any platform.
91+
92+
## [zuul](http://npm.im/zuul)
93+
94+
An amazingly easy way to test your javascript in browsers. Start testing your
95+
code in seconds locally and move to cloud based browsers seamlessly for
96+
better coverage.
97+
98+
[nodejs]: http://nodejs.org/
99+
[mongodb]: http://www.mongodb.org/downloads
100+
[less]: http://lesscss.org
101+
[gulp]: http://gulpjs.com
102+
[bootstrap]: http://getbootstrap.com
103+
[coffeescript]: http://coffeescript.org
104+
[mocha]: http://visionmedia.github.io/mocha/
105+
[jade]: http://github.com/visionmedia/jade
106+
[browserify]: http://browserify.org
107+
[font-awesome]: http://fortawesome.github.io/Font-Awesome/
108+
109+
[mongodb.js]: https://www.npmjs.org/browse/keyword/mongodb.js
110+
[browserify talk]: http://imlucas.github.io/talks/mongo_052014/static/index.html
111+
[patternlib]: http://10gen.github.io/mongoscope/patternlib.html
112+
[less-variables]: http://10gen.github.io/mongoscope/patternlib.html#less-variables
113+
[gulp-intro]: http://julienrenaux.fr/2014/05/25/introduction-to-gulp-js-with-practical-examples/

docs/new-to-js.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# New to JS Resources
2+
3+
## Differences between node.js/browserify projects
4+
5+
> @todo: Anyone know of a good existing write up of this that covers things
6+
> like default variable scope doesn’t pollute global scope, require() everything,
7+
> only [~13 globals](http://nodejs.org/api/globals.html).
8+
>
9+
> @todo: A quick explanation of the differences between working with js in
10+
> node/browserify and how it's different from the mongo shell or your typical
11+
> jQuery web app. For example, it's ok and encouraged to use dependencies
12+
> from npm, the note above on require(), and anything else to put people more
13+
> at ease.
14+
15+
## Newsletters
16+
17+
- [dailyjs](http://dailyjs.com/)
18+
- [nodeweekly](http://nodeweekly.com/)
19+
- [dashingd3js](https://www.dashingd3js.com/)
20+
- [dbweekly](http://dbweekly.com/)
21+
- [software lead weekly](http://softwareleadweekly.com/)
22+
23+
## References
24+
25+
- [browserify-handbook](https://github.com/substack/browserify-handbook)
26+
- [stream-handbook](https://github.com/substack/stream-handbook)
27+
- [v8-perf](https://github.com/thlorenz/v8-perf)
28+
29+
## Books
30+
31+
- [node.js handbook](https://github.com/FredKSchott/NodeJS-Handbook)
32+
- [backbone fundamentals](https://github.com/addyosmani/backbone-fundamentals)
33+
- [human javascript](http://read.humanjavascript.com/)
34+
- [lean ux](http://www.amazon.com/Lean-UX-Applying-Principles-Experience/dp/1449311652/)
35+
[kindle](http://www.amazon.com/Lean-UX-Applying-Principles-Experience-ebook/dp/B0074KA0A4/)
36+
- [effective javascript](http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182/) -
37+
[kindle](http://www.amazon.com/Effective-JavaScript-Specific-Software-Development-ebook/dp/B00AC1RP14/)
38+
- [don't make me think](http://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515/) -
39+
[kindle](http://www.amazon.com/Dont-Make-Think-Revisited-Usability-ebook/dp/B00HJUBRPG/)
40+
- [Information Visualization: Perception for Design](http://www.amazon.com/gp/product/B0083JCI3W/)
41+
- [Smashing node.js](http://www.amazon.com/gp/product/1119962595/)
42+
- [node.js in action](http://www.amazon.com/Node-js-Action-Mike-Cantelon/dp/1617290572/)

0 commit comments

Comments
 (0)