| Dec | JAN | Feb |
| 01 | ||
| 2020 | 2021 | 2022 |
COLLECTED BY
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: Archive Team: The Github Hitrub
canvas module brought in ~100MB of dependency, and as it's not even a common use case, I've decided to move the canvas package into devDependencies, so that you need to explicitly include it when you use basicHTML.
npm i basichtml canvasBy default, no
canvas module will be installed at all.
<canvas> and <img> scene canvas module doesn't build
●provide canvas 2d API, with the ability to create real images
●provide the node-canvas Image ability to react on load and error events
const {Image, document} = require('basichtml').init({}); const canvas = document.createElement('canvas'); canvas.width = 320; canvas.height = 200; const ctx = canvas.getContext('2d'); ctx.moveTo(0, 0); ctx.lineTo(320, 200); ctx.stroke(); const img = new Image(); img.onload = () => { console.log(img.outerHTML); }; img.src = canvas.toDataURL();
customElements.define('my-special-thing', MySpecialThing, {extends: 'div'}); document.createElement('div', {is: 'my-special-thing'});
init(...) in 0.13
// easy way, introduced in 0.13 // pollutes by default the global with: // - window // - document // - customElements // - HTMLElement // if a non global window is provided // it will use it as defaultView require('basichtml').init({ // all properties are optional window: global, // in case you'd like to share a predefined // registry of Custom Elements customElements, // specify a different selector selector: { // use the module sizzle, it will be required // automatically name: 'sizzle', // or alternatively, use a module function module() { return require('sizzle'); }, // how to retrieve results => querySelectorAll $(Sizzle, element, css) { return Sizzle(css, element); } } }); // returns the window itself
const {Document} = require('basichtml'); const document = new Document(); // attributes document.documentElement.setAttribute('lang', 'en'); // common accessors document.documentElement.innerHTML = ` <head></head> <body></body> `; document.body.textContent = 'Hello basicHTML'; // basic querySelector / querySelectorAll document.querySelector('head').appendChild( document.createElement('title') ).textContent = 'HTML on NodeJS'; // toString() necessary to read, it's a Buffer console.log(document.toString());Above log will produce an output like the following one.
<!DOCTYPE html> <html lang="en"> <head><title>HTML on NodeJS</title></head> <body>Hello basicHTML</body> </html>
v0.2, the property nodeNameiscase-sensitive to make basicHTML compatible with XML projects too
●el.querySelectorAll(css) works with tagName, #id, or .className. You can use more complex selectors including 3rd party libraries such Sizzle, as shown in this test example.
●el.querySelector(css) is not optimized and will return just index 0 of the whole collection. However, selecting a lot is not the goal of this library.
●el.getElementsByTagName as well as el.getElementsByClassName and el.getElementsById are all available. The latter is the fastest one of the trio.
●all collections are basically just arrays. You should use official DOM methods to mutate them. As example, do not ever childNodes.push(new Node) 'cause that's not what you could do on the DOM. The whole point here is to provide a Web like env, not to write defensive code for NodeJS or other non strictly Web environments.
●most historical properties and standards are most likely not implemented
ISC License
Copyright (c) 2017, Andrea Giammarchi, @WebReflection
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.