25 captures
26 Jun 2017 - 23 Aug 2025
Aug SEP Oct
16
2019 2020 2021
success
fail

About this capture

COLLECTED BY

Organization: Archive Team

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

History is littered with hundreds of conflicts over the future of a community, group, location or business that were "resolved" when one of the parties stepped ahead and destroyed what was there. With the original point of contention destroyed, the debates would fall to the wayside. Archive Team believes that by duplicated condemned data, the conversation and debate can continue, as well as the richness and insight gained by keeping the materials. Our projects have ranged in size from a single volunteer downloading the data to a small-but-critical site, to over 100 volunteers stepping forward to acquire terabytes of user-created data to save for future generations.

The main site for Archive Team is at archiveteam.org and contains up to the date information on various projects, manifestos, plans and walkthroughs.

This collection contains the output of many Archive Team projects, both ongoing and completed. Thanks to the generous providing of disk space by the Internet Archive, multi-terabyte datasets can be made available, as well as in use by the Wayback Machine, providing a path back to lost websites and work.

Our collection has grown to the point of having sub-collections for the type of data we acquire. If you are seeking to browse the contents of these collections, the Wayback Machine is the best first stop. Otherwise, you are free to dig into the stacks to see what you may find.

The Archive Team Panic Downloads are full pulldowns of currently extant websites, meant to serve as emergency backups for needed sites that are in danger of closing, or which will be missed dearly if suddenly lost due to hard drive crashes or server failures.

Collection: ArchiveBot: The Archive Team Crowdsourced Crawler

ArchiveBot is an IRC bot designed to automate the archival of smaller websites (e.g. up to a few hundred thousand URLs). You give it a URL to start at, and it grabs all content under that URL, records it in a WARC, and then uploads that WARC to ArchiveTeam servers for eventual injection into the Internet Archive (or other archive sites).

To use ArchiveBot, drop by #archivebot on EFNet. To interact with ArchiveBot, you issue commands by typing it into the channel. Note you will need channel operator permissions in order to issue archiving jobs. The dashboard shows the sites being downloaded currently.

There is a dashboard running for the archivebot process at http://www.archivebot.com.

ArchiveBot's source code can be found at https://github.com/ArchiveTeam/ArchiveBot.

TIMESTAMPS
The Wayback Machine - http://web.archive.org/web/20200916092838/https://github.com/swoopapp/javascript
Skip to content
Sign in Sign up
  • Star
  • Fork 19.4k
  • JavaScript Style Guide

    MIT License
    0 stars 19.4k forks
    Star
    Watch
    master
    2 branches 62 tags
    Go to file
    Code

    If nothing happens, download GitHub Desktop and try again.

    If nothing happens, download GitHub Desktop and try again.

    If nothing happens, download Xcode and try again.

    If nothing happens, download the GitHub extension for Visual Studio and try again.

    This branch is 515 commits behind airbnb:master.
    Pull request Compare

    Latest commit

     

    Git stats

    Files

    Permalink
    Failed to load latest commit information.
    Type
    Name
    Latest commit message
    Commit time
    css-in-javascript
     
     
    linters
     
     
    packages
     
     
    react
     
     
    .editorconfig
     
     
    .gitignore
     
     
    .travis.yml
     
     
    LICENSE.md
     
     
    README.md
     
     
    package.json
     
     

    README.md

    Airbnb JavaScript Style Guide() {

    A mostly reasonable approach to JavaScript

    Downloads Downloads ![Gitter](https://badges.gitter.im/Join Chat.svg)

    Other Style Guides

    Table of Contents

    1. Types
    2. References
    3. Objects
    4. Arrays
    5. Destructuring
    6. Strings
    7. Functions
    8. Arrow Functions
    9. Classes & Constructors
    10. Modules
    11. Iterators and Generators
    12. Properties
    13. Variables
    14. Hoisting
    15. Comparison Operators & Equality
    16. Blocks
    17. Comments
    18. Whitespace
    19. Commas
    20. Semicolons
    21. Type Casting & Coercion
    22. Naming Conventions
    23. Accessors
    24. Events
    25. jQuery
    26. ECMAScript 5 Compatibility
    27. ECMAScript 6+ (ES 2015+) Styles
    28. Testing
    29. Performance
    30. Resources
    31. In the Wild
    32. Translation
    33. The JavaScript Style Guide Guide
    34. Chat With Us About JavaScript
    35. Contributors
    36. License

    Types

    back to top

    References

    back to top

    Objects

    Why? In general we consider it subjectively easier to read. It improves syntax highlighting, and is also more easily optimized by many JS engines.

    // bad
    const bad = {
      'foo': 3,
      'bar': 4,
      'data-blah': 5,
    };
    
    // good
    const good = {
      foo: 3,
      bar: 4,
      'data-blah': 5,
    };

    Why? These methods may be shadowed by properties on the object in question - consider { hasOwnProperty: false } - or, the object may be a null object (Object.create(null)).

    // bad
    console.log(object.hasOwnProperty(key));
    
    // good
    console.log(Object.prototype.hasOwnProperty.call(object, key));
    
    // best
    const has = Object.prototype.hasOwnProperty; // cache the lookup once, in module scope.
    /* or */
    import has from 'has';
    
    console.log(has.call(object, key));

    // very bad
    const original = { a: 1, b: 2 };
    const copy = Object.assign(original, { c: 3 }); // this mutates `original` ಠ_ಠ
    delete copy.a; // so does this
    
    // bad
    const original = { a: 1, b: 2 };
    const copy = Object.assign({}, original, { c: 3 }); // copy => { a: 1, b: 2, c: 3 }
    
    // good
    const original = { a: 1, b: 2 };
    const copy = { ...original, c: 3 }; // copy => { a: 1, b: 2, c: 3 }
    
    const {a, ...noA } = copy; // noA => { b: 2, c: 3 }

    back to top

    Arrays

    back to top

    Destructuring

    back to top

    Strings

    back to top

    Functions

    back to top

    Arrow Functions

    back to top

    Classes & Constructors

    back to top

    Modules

    back to top

    Iterators and Generators

    back to top

    Properties

    back to top

    Variables

    back to top

    Hoisting

    back to top

    Comparison Operators & Equality

    Why? Lexical declarations are visible in the entire switch block but only get initialized when assigned, which only happens when its case is reached. This causes problems when multiple case clauses attempt to define the same thing.

    eslint rules: no-case-declarations.

    ```javascript
    // bad
    switch (foo) {
      case 1:
        let x = 1;
        break;
      case 2:
        const y = 2;
        break;
      case 3:
        function f() {
          // ...
        }
        break;
      default:
        class C {}
    }
    
    // good
    switch (foo) {
      case 1: {
        let x = 1;
        break;
      }
      case 2: {
        const y = 2;
        break;
      }
      case 3: {
        function f() {
          // ...
        }
        break;
      }
      case 4:
        bar();
        break;
      default: {
        class C {}
      }
    }
    ```
    

    back to top

    Blocks

    back to top

    Comments

    back to top

    Whitespace

    back to top

    Commas

    back to top

    Semicolons

    back to top

    Type Casting & Coercion

    back to top

    Naming Conventions

    back to top

    Accessors

    back to top

    Events

    back to top

    jQuery

    back to top

    ECMAScript 5 Compatibility

    back to top

    ECMAScript 6+ (ES 2015+) Styles

    1. Arrow Functions
    2. Classes
    3. Object Shorthand
    4. Object Concise
    5. Object Computed Properties
    6. Template Strings
    7. Destructuring
    8. Default Parameters
    9. Rest
    10. Array Spreads
    11. Let and Const
    12. Iterators and Generators
    13. Modules

    back to top

    Testing

    back to top

    Performance

    back to top

    Resources

    Learning ES6

    Read This

    Tools

    Other Style Guides

    Other Styles

    Further Reading

    Books

    Blogs

    Podcasts

    back to top

    In the Wild

    This is a list of organizations that are using this style guide. Send us a pull request and we'll add you to the list.

    back to top

    Translation

    This style guide is also available in other languages:

    The JavaScript Style Guide Guide

    Chat With Us About JavaScript

    Contributors

    License

    (The MIT License)

    Copyright (c) 2014-2017 Airbnb

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    back to top

    Amendments

    We encourage you to fork this guide and change the rules to fit your team's style guide. Below, you may list some amendments to the style guide. This allows you to periodically update your style guide without having to deal with merge conflicts.

    };

    About

    JavaScript Style Guide

    Resources

    Readme

    License

    MIT License

    Releases

    62 tags

    Packages

    No packages published

    Languages

  • Privacy
  • Security
  • Status
  • Help
  • You can’t perform that action at this time.