diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0c486d52..00000000 --- a/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# https://editorconfig.org - -root = true - -[*] -end_of_line = lf -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -# Set default charset -[*.{js,py}] -charset = utf-8 diff --git a/.eleventy.js b/.eleventy.js deleted file mode 100644 index bb3be7a3..00000000 --- a/.eleventy.js +++ /dev/null @@ -1,140 +0,0 @@ -const fs = require('fs'); -const pluginRss = require('@11ty/eleventy-plugin-rss'); -const htmlmin = require('html-minifier'); -const sassWatch = require('./_includes/sass-watch'); -const filter = require('./_includes/filter'); -const scAvatar = require('./_includes/shortcodes/avatar'); -const scResponsiveImage = require('./_includes/shortcodes/responsive-image'); -const scSocialSvg = require('./_includes/shortcodes/social-svg'); -const scVideoPlayer = require('./_includes/shortcodes/video-player'); -const pscMeetupDetails = require('./_includes/shortcodes/meetup-details'); - -/** - * Add date properties to collections. - * - * @param {object} posts Collection to add date properties to. - * @return {object} Augmented posts collection. - */ -const addFileDates = (posts) => posts.map((post) => { - if (!(post && post.inputPath)) return post; - - const stat = fs.statSync(post.inputPath) || {}; - const newPost = post; - - newPost.dateCreated = stat.birthtime; - newPost.dateModified = stat.mtime; - - return newPost; -}); - -module.exports = (eleventyConfig) => { - // Watch Sass directory for styling changes. - // Works only in dev mode. Though it throws and error and then continues on. - if (process.env.ELEVENTY_ENV === 'dev') { - sassWatch('./_sass/_main.scss', './_site/assets/css/main.css'); - } - - // PASSTHRU: Copy the `assets` directory to the compiled site folder - eleventyConfig.addPassthroughCopy('assets'); - eleventyConfig.addPassthroughCopy('robots.txt'); - eleventyConfig.addPassthroughCopy('.well-known/atproto-did'); - eleventyConfig.addPassthroughCopy('CNAME'); - - // COLLECTION: Create meetup collection. - eleventyConfig.addCollection('meetups', (collection) => { - const posts = collection.getFilteredByGlob('./_meetups/**'); - - return addFileDates(posts); - }); - - // COLLECTION: Create post collection. - eleventyConfig.addCollection('posts', (collection) => { - const posts = collection.getFilteredByGlob(['./_meetups/**', './_posts/**']); - - return addFileDates(posts); - }); - - // FILTER: Convert page.date directly to 'YYYY/MM/DD' slug. - eleventyConfig.addLiquidFilter('dateSlug', filter.dateSlug); - - // FILTER: Reverse array without mutating original. - eleventyConfig.addFilter('flip', filter.flip); - - // FILTER: Run content thru Markdown-it. - eleventyConfig.addFilter('markdown', filter.markdown); - - // FILTER: Replace text with regex capabilities. - eleventyConfig.addFilter('regexReplace', filter.regexReplace); - - // SHORTCODE: Resize and cache images. - eleventyConfig.addLiquidShortcode('avatar', scAvatar); - - // SHORTCODE: Generate responsive image. - eleventyConfig.addLiquidShortcode('responsiveImage', scResponsiveImage); - - // SHORTCODE: Add social icon SVG block. - eleventyConfig.addLiquidShortcode('socialSvg', scSocialSvg); - - // SHORTCODE: Embed video players for event replay. - eleventyConfig.addShortcode('videoPlayer', scVideoPlayer); - - // SHORTCODE: Format meeting details message block. - eleventyConfig.addPairedShortcode('meetupDetails', pscMeetupDetails); - - // PLUGIN: RSS feed - eleventyConfig.addPlugin(pluginRss); - - // FILTER: Atom date format - eleventyConfig.addLiquidFilter('dateToRfc3339', pluginRss.dateToRfc3339); - - // TRANSFORM: minify HTML - eleventyConfig.addTransform('htmlmin', (content, outputPath) => { - if (typeof outputPath === 'string' && outputPath.endsWith('.html')) { - const minified = htmlmin.minify(content, { - useShortDoctype: true, - removeComments: true, - collapseWhitespace: true, - minifyCSS: true, - minifyJS: true, - }); - - return minified; - } - - return content; - }); - - // BROWSERSYNC: add ability to see 404.html in dev mode - eleventyConfig.setBrowserSyncConfig({ - callbacks: { - ready(err, bs) { - bs.addMiddleware('*', (req, res) => { - const content404 = fs.readFileSync('_site/404.html'); - // Provides the 404 content without redirect. - - res.write(content404); - // Add 404 http status code in request header. - // res.writeHead(404, { "Content-Type": "text/html" }); - res.writeHead(404); - res.end(); - }); - }, - }, - }); - - return { - dir: { - input: './', - output: './_site', - layouts: './_layouts', - }, - templateFormats: [ - 'liquid', - 'njk', - 'md', - 'html', - ], - htmlTemplateEngine: 'liquid', - dataTemplateEngine: 'liquid', - }; -}; diff --git a/.eleventyignore b/.eleventyignore deleted file mode 100644 index 64327911..00000000 --- a/.eleventyignore +++ /dev/null @@ -1,3 +0,0 @@ -README.md -CONTRIBUTING-POSTS.md -_drafts/ diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 6cd98cca..00000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# include -!.eleventy.js diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index bd63a27f..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "root": true, - "extends": "airbnb-base", - "rules": { - // Require spaces before comments... - "lines-around-comment": [ - "error", - { - // ...except when first line of array, or... - "allowArrayStart": true, - // ...except when first line of block, or... - "allowBlockStart": true, - // ...except when first line of object. - "allowObjectStart": true - } - ], - // Visually set-off the var assignment from the rest of code. - "newline-after-var": "error", - // Visually set-off the return from the rest of code. - "newline-before-return": "error", - // Require developers to describe function purpose, arguments, and returns. - "require-jsdoc": "error", - // Require valid JSDoc. - "valid-jsdoc": [ - "error", - { - // Only require @return if there's a return statement. - "requireReturn": false - } - ] - } -} diff --git a/.github/workflows/eleventy_build.yml b/.github/workflows/eleventy_build.yml deleted file mode 100644 index 4ebaa17b..00000000 --- a/.github/workflows/eleventy_build.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Eleventy Build - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - push: - branches: [ master ] - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - - - name: Setup Node.js environment - uses: actions/setup-node@v3 - - - name: Install packages - run: npm ci - - - name: Run npm build - run: npm run build - - - name: Deploy to gh-pages - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./_site diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b93a8ca0..00000000 --- a/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -# OS generated # -#--------------------# -.DS_Store - -# IDE-generated -#--------------------# -.vscode - -# App-generated -#--------------------# -_site -node_modules -tmp -.cache diff --git a/.markdownlint.json b/.markdownlint.json deleted file mode 100644 index d11a3aca..00000000 --- a/.markdownlint.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "default": false, - "MD001": true, - "MD002": { - "level": 2 - }, - "MD003": { - "style": "atx" - }, - "MD004": { - "style": "asterisk" - }, - "MD005": true, - "MD006": true, - "MD007": { - "indent": 4 - }, - "MD009": false, - "MD010": true, - "MD011": true, - "MD012": { - "maximum": 2 - }, - "MD013": false, - "MD014": false, - "MD018": true, - "MD019": true, - "MD020": true, - "MD021": true, - "MD022": true, - "MD023": true, - "MD025": true, - "MD026": { - "punctuation": ".,;:!" - }, - "MD027": true, - "MD028": false, - "MD029": false, - "MD030": true, - "MD031": true, - "MD032": true, - "MD033": false, - "MD034": false, - "MD035": { - "style": "---" - }, - "MD036": true, - "MD037": true, - "MD038": true, - "MD039": true, - "MD040": false, - "MD041": false, - "MD042": true, - "MD043": false, - "MD044": false, - "MD045": false -} diff --git a/2011-austin-javascript-sxsw-party-poster/index.html b/2011-austin-javascript-sxsw-party-poster/index.html new file mode 100644 index 00000000..7836459b --- /dev/null +++ b/2011-austin-javascript-sxsw-party-poster/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/2011-austin-javascript-sxsw-party-poster/.

\ No newline at end of file diff --git a/2011-austin-javascript-sxsw-party-wrapup/index.html b/2011-austin-javascript-sxsw-party-wrapup/index.html new file mode 100644 index 00000000..b96ff2fa --- /dev/null +++ b/2011-austin-javascript-sxsw-party-wrapup/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/2011-austin-javascript-sxsw-party-wrapup/.

\ No newline at end of file diff --git a/2012-austinjs-sxsw-3-year-anniversary-party/index.html b/2012-austinjs-sxsw-3-year-anniversary-party/index.html new file mode 100644 index 00000000..60a04f42 --- /dev/null +++ b/2012-austinjs-sxsw-3-year-anniversary-party/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/2012-austinjs-sxsw-3-year-anniversary-party/.

\ No newline at end of file diff --git a/2012-austinjs-sxsw-party-wrapup/index.html b/2012-austinjs-sxsw-party-wrapup/index.html new file mode 100644 index 00000000..931d7578 --- /dev/null +++ b/2012-austinjs-sxsw-party-wrapup/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/2012-austinjs-sxsw-party-wrapup/.

\ No newline at end of file diff --git a/404.html b/404.html index f5aceca3..2ca88b41 100644 --- a/404.html +++ b/404.html @@ -1,11 +1,11 @@ ---- -layout: base -title: Oops! Page not found -permalink: 404.html -eleventyExcludeFromCollections: true ---- -
-

{{ title }}

-

Like U2, we still haven't found what you're looking for.

-

Please try again from the home page.

-
+Oops! Page not found•Austin JavaScript

Oops! Page not found

Like U2, we still haven't found what you're looking for.

Please try again from the home page.

Edit this page

\ No newline at end of file diff --git a/CONTRIBUTING-POSTS.md b/CONTRIBUTING-POSTS.md deleted file mode 100644 index c6296caf..00000000 --- a/CONTRIBUTING-POSTS.md +++ /dev/null @@ -1,196 +0,0 @@ -# Contributing to meeting posts - -On this page: - -* [Editing](#editing) -* [Creating](#creating) -* [Publishing](#publishing) - ---- - -## Editing - -There are two ways to edit an existing post: - -1. Directly edit [post files](https://github.com/austinjavascript/austinjavascript.com/tree/master/_posts) online and submit Pull Request. -1. Clone the repo locally (see next section), edit/save, git commit/push, and then open a Pull Request. - -## Creating - -### Setup local environment - -1. Fork the [Austin JavaScript GitHub](https://github.com/austinjavascript/austinjavascript.com/) repo to your org. -1. Clone your repo to a local directory, replacing `{my-username}` below with your username. - - ```sh - git clone https://github.com/{my-username}/austinjavascript.com.git - cd austinjavascript.com - ``` - -1. Set the `upstream` remote repo to "austinjavascript". (If you look at `.git/config`, you should see that your fork is the `origin` remote.) - - ```sh - git remote add upstream https://github.com/austinjavascript/austinjavascript.com.git - ``` - -2. Create a new git branch for your work. - - ```sh - git checkout -b new-post - ``` - -3. To review your work, you may want to run [Eleventy](https://11ty.dev/) — a JavaScript static site generator. - - ```sh - npm install - ``` - - Once all the packages are done loading, you can start a local server. - - ```sh - npm start - ``` - - Once the server is up and running, point your browser to the address that shows up in the terminal (e.g., http://localhost:8080) and enjoy the scenery. - -### Create new file - -To create a new meetup post, copy the `/_drafts_/YYYY-MM-DD-meetup.md` file to the `/_meetups/` directory, changing `YYYY-MM-DD` to the appropriate year, month, and date. - -> **IMPORTANT:** Make sure the date part of the file name is the **event date**. This will be used for all related event data. - -### Add meetup details and content - -Open the [Markdown](https://commonmark.org/) file and notice the file structure. - -```yaml ---- -{YAML front matter} ---- -{Markdown content} -``` - -* The *{[YAML front matter](https://jekyllrb.com/docs/front-matter/)}* contains all the variables that will be used by a magical template (`/_layouts/meetup.html`) to generate posts. It has the format: - - ```yaml - --- - layout: meetup - title: {presentation title} - when: {ISO-8601 date-- e.g., 2019-04-16T19:30:00-05:00} - slides: {presentation slides URL} - video: {presentation video URL} - speakers: - - name: {full name - REQUIRED} - title: {professional title} - avatar: {twitter image URL} - bio: {short bio blurb} - email: {email address} - homepage: {homepage url} - twitter: {profile name} - github: {profile name} - linkedin: {profile name} - sponsor: {key to sponsor data} - name: {sponsor full name} - url: {sponsor homepage URL} - careerUrl: {sponsor career page URL} - logo: {sponsor logo URL} - venue: {key to host venue data - REQUIRED} - after: {key to "after party" data} - organizers: - - {key to people data} - --- - ``` - - - #### YAML tips - - > NOTE: `speakers` is a YAML array, so each `name` should be preceded by a dash. For example: - > - > ```yaml - > speakers: - > - name: Pat Anser - > title: Developer Extraordinaire at Austin JavaScript - > .. - > - name: Dale Andhill - > title: Another Developer - > .. - > ``` - > - > If there are no speakers for the meetup, leave only the `speakers:` field and remove the rest of the array (e.g., `-name: ...`). - > - - > NOTE: Should any front matter value start with a `[` or `{` character, it will confuse the YAML parser (it thinks it's an array or object) and throw an error. If you need to start the value with one of those characters, be sure to wrap the entire value with quotes. - > - > ```yaml - > .. - > bio: [Bob](https://bobross.com) is an American icon. ## throws error - > bio: "[Bob](https://bobross.com) is an American icon." ## works - > .. - > ``` - > - - > NOTE: For multiline YAML, start the 1st line with a pipe, then start the content on the next line, indented. - > - > ```yaml - > .. - > bio: | - > This is a sentence. - > - > This is another sentence. - > - > * This is a list item - > * This is another list item - > .. - > ``` - > - - #### Data tips - - > NOTE: For `sponsor`, if a key to the sponsor info exists in the `/_data/organizations.yaml` file, then use it alone. - > - > ```yaml - > .. - > sponsor: {key_name} - > venue: ... - > .. - > ``` - > - > If an org key doesn't exist, then add the fields: `name`, `url`, `careerUrl` (optional), `logo` (optional), and `message` (optional wholesale replacement text for sponsor template). - > - > ```yaml - > .. - > sponsor: - > name: {sponsor name} - > url: {sponsor URL} - > venue: ... - > .. - > ``` - - The `sponsor`, `venue`, and `after` key values can be found in or added to `/_data_/organizations.yaml`. The format for that YAML file is: - - ```yaml - {key - REQUIRED}: - name: {org full name - REQUIRED} - url: {org homepage URL} - careerUrl: {org career page URL} - logo: {org logo URL} - location: {org full street address + floor and/or room} - note: {additional notes} - ``` - -* The _{Markdown content}_ follows the [CommonMark spec](https://commonmark.org/help/) for creating formatted HTML from plain text. Some tips for content: - - * Provide context for presentation. What was the problem, solution, drama? - * Hyperlink all the things! ...and use Markdown syntax (e.g., `[Eleventy](https://11ty.dev/)`). - -## Publishing - -Save and commit. Then push to your repo. - -```sh -git add . -git commit -m "Add new meetup post" -git push origin new-post -``` - -Open your browser to the [austinjavascript.com](https://www.github.com/austinjavascript/austinjavascript.com/) repo (or your fork) and open a Pull Request. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 55592a66..00000000 --- a/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 austinjavascript - -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. - diff --git a/README.md b/README.md deleted file mode 100644 index fb0407a3..00000000 --- a/README.md +++ /dev/null @@ -1,7 +0,0 @@ -![Eleventy Build](https://github.com/austinjavascript/austinjavascript.com/workflows/Eleventy%20Build/badge.svg) - -website for the [@austinjavascript.com](https://bsky.app/profile/austinjavascript.com) meetup: http://austinjavascript.com - -## Adding meetup posts - -See [Contributing meetup posts](https://github.com/austinjavascript/austinjavascript.com/blob/master/CONTRIBUTING-POSTS.md) diff --git a/_cache/eleventy-fetch-000af99bcd417e9ec8dcff97db94e1 b/_cache/eleventy-fetch-000af99bcd417e9ec8dcff97db94e1 deleted file mode 100644 index fe68bffc..00000000 --- a/_cache/eleventy-fetch-000af99bcd417e9ec8dcff97db94e1 +++ /dev/null @@ -1 +0,0 @@ -[{"000af99bcd417e9ec8dcff97db94e1":"1"},{"cachedAt":1668180403298,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-000af99bcd417e9ec8dcff97db94e1.buffer b/_cache/eleventy-fetch-000af99bcd417e9ec8dcff97db94e1.buffer deleted file mode 100644 index 38aa0910..00000000 Binary files a/_cache/eleventy-fetch-000af99bcd417e9ec8dcff97db94e1.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-001aeb171e3f5406a7df4307ac04ca b/_cache/eleventy-fetch-001aeb171e3f5406a7df4307ac04ca deleted file mode 100644 index 870c9dc2..00000000 --- a/_cache/eleventy-fetch-001aeb171e3f5406a7df4307ac04ca +++ /dev/null @@ -1 +0,0 @@ -[{"001aeb171e3f5406a7df4307ac04ca":"1"},{"cachedAt":1739337018494,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-001aeb171e3f5406a7df4307ac04ca.buffer b/_cache/eleventy-fetch-001aeb171e3f5406a7df4307ac04ca.buffer deleted file mode 100644 index b3e422fd..00000000 Binary files a/_cache/eleventy-fetch-001aeb171e3f5406a7df4307ac04ca.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-004b799b783e5b7bac1d738c6415cc b/_cache/eleventy-fetch-004b799b783e5b7bac1d738c6415cc deleted file mode 100644 index ac421da1..00000000 --- a/_cache/eleventy-fetch-004b799b783e5b7bac1d738c6415cc +++ /dev/null @@ -1 +0,0 @@ -[{"004b799b783e5b7bac1d738c6415cc":"1"},{"cachedAt":1739336734554,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-004b799b783e5b7bac1d738c6415cc.buffer b/_cache/eleventy-fetch-004b799b783e5b7bac1d738c6415cc.buffer deleted file mode 100644 index e1728325..00000000 Binary files a/_cache/eleventy-fetch-004b799b783e5b7bac1d738c6415cc.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-05550aab4adcf8d38cadba79832753 b/_cache/eleventy-fetch-05550aab4adcf8d38cadba79832753 deleted file mode 100644 index 6996344c..00000000 --- a/_cache/eleventy-fetch-05550aab4adcf8d38cadba79832753 +++ /dev/null @@ -1 +0,0 @@ -[{"05550aab4adcf8d38cadba79832753":"1"},{"cachedAt":1739339175652,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-05550aab4adcf8d38cadba79832753.buffer b/_cache/eleventy-fetch-05550aab4adcf8d38cadba79832753.buffer deleted file mode 100644 index 9d2c292e..00000000 Binary files a/_cache/eleventy-fetch-05550aab4adcf8d38cadba79832753.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-0735691bc0b078ad37e30dc23dc1da b/_cache/eleventy-fetch-0735691bc0b078ad37e30dc23dc1da deleted file mode 100644 index 3ea0932d..00000000 --- a/_cache/eleventy-fetch-0735691bc0b078ad37e30dc23dc1da +++ /dev/null @@ -1 +0,0 @@ -[{"0735691bc0b078ad37e30dc23dc1da":"1"},{"cachedAt":1595888546032,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-0735691bc0b078ad37e30dc23dc1da.buffer b/_cache/eleventy-fetch-0735691bc0b078ad37e30dc23dc1da.buffer deleted file mode 100644 index e39eebd6..00000000 Binary files a/_cache/eleventy-fetch-0735691bc0b078ad37e30dc23dc1da.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-089a9c8735c0e830f7883eb369a0d6 b/_cache/eleventy-fetch-089a9c8735c0e830f7883eb369a0d6 deleted file mode 100644 index 6e21fe96..00000000 --- a/_cache/eleventy-fetch-089a9c8735c0e830f7883eb369a0d6 +++ /dev/null @@ -1 +0,0 @@ -[{"089a9c8735c0e830f7883eb369a0d6":"1"},{"cachedAt":1737923643935,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-089a9c8735c0e830f7883eb369a0d6.buffer b/_cache/eleventy-fetch-089a9c8735c0e830f7883eb369a0d6.buffer deleted file mode 100644 index 7da03f61..00000000 Binary files a/_cache/eleventy-fetch-089a9c8735c0e830f7883eb369a0d6.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-0a0744b9e5eb4d3738cde58dd446aa b/_cache/eleventy-fetch-0a0744b9e5eb4d3738cde58dd446aa deleted file mode 100644 index 2f79643b..00000000 --- a/_cache/eleventy-fetch-0a0744b9e5eb4d3738cde58dd446aa +++ /dev/null @@ -1 +0,0 @@ -[{"0a0744b9e5eb4d3738cde58dd446aa":"1"},{"cachedAt":1595888538268,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-0a0744b9e5eb4d3738cde58dd446aa.buffer b/_cache/eleventy-fetch-0a0744b9e5eb4d3738cde58dd446aa.buffer deleted file mode 100644 index f9ef4ebb..00000000 Binary files a/_cache/eleventy-fetch-0a0744b9e5eb4d3738cde58dd446aa.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-0a807d572cfd641045bad77c10e289 b/_cache/eleventy-fetch-0a807d572cfd641045bad77c10e289 deleted file mode 100644 index 1ea69f33..00000000 --- a/_cache/eleventy-fetch-0a807d572cfd641045bad77c10e289 +++ /dev/null @@ -1 +0,0 @@ -[{"0a807d572cfd641045bad77c10e289":"1"},{"cachedAt":1739336735456,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-0a807d572cfd641045bad77c10e289.buffer b/_cache/eleventy-fetch-0a807d572cfd641045bad77c10e289.buffer deleted file mode 100644 index 0e3229b0..00000000 Binary files a/_cache/eleventy-fetch-0a807d572cfd641045bad77c10e289.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-0dbc6f389eedb16b6758aed36a0fd4 b/_cache/eleventy-fetch-0dbc6f389eedb16b6758aed36a0fd4 deleted file mode 100644 index d6a98fd9..00000000 --- a/_cache/eleventy-fetch-0dbc6f389eedb16b6758aed36a0fd4 +++ /dev/null @@ -1 +0,0 @@ -[{"0dbc6f389eedb16b6758aed36a0fd4":"1"},{"cachedAt":1595888537237,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-0dbc6f389eedb16b6758aed36a0fd4.buffer b/_cache/eleventy-fetch-0dbc6f389eedb16b6758aed36a0fd4.buffer deleted file mode 100644 index 3b605644..00000000 Binary files a/_cache/eleventy-fetch-0dbc6f389eedb16b6758aed36a0fd4.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-0f56f6d956aa1a3f628ac14e661c33 b/_cache/eleventy-fetch-0f56f6d956aa1a3f628ac14e661c33 deleted file mode 100644 index 36fca048..00000000 --- a/_cache/eleventy-fetch-0f56f6d956aa1a3f628ac14e661c33 +++ /dev/null @@ -1 +0,0 @@ -[{"0f56f6d956aa1a3f628ac14e661c33":"1"},{"cachedAt":1739336726969,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-0f56f6d956aa1a3f628ac14e661c33.buffer b/_cache/eleventy-fetch-0f56f6d956aa1a3f628ac14e661c33.buffer deleted file mode 100644 index 6cdd02fa..00000000 Binary files a/_cache/eleventy-fetch-0f56f6d956aa1a3f628ac14e661c33.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-118202e68c3b724b348c78009c72c0 b/_cache/eleventy-fetch-118202e68c3b724b348c78009c72c0 deleted file mode 100644 index fbfdfe7d..00000000 --- a/_cache/eleventy-fetch-118202e68c3b724b348c78009c72c0 +++ /dev/null @@ -1 +0,0 @@ -[{"118202e68c3b724b348c78009c72c0":"1"},{"cachedAt":1739336733948,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-118202e68c3b724b348c78009c72c0.buffer b/_cache/eleventy-fetch-118202e68c3b724b348c78009c72c0.buffer deleted file mode 100644 index 68ea0e1e..00000000 Binary files a/_cache/eleventy-fetch-118202e68c3b724b348c78009c72c0.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-141e63e650d8dbb38c5ea0acca8b88 b/_cache/eleventy-fetch-141e63e650d8dbb38c5ea0acca8b88 deleted file mode 100644 index e1734847..00000000 --- a/_cache/eleventy-fetch-141e63e650d8dbb38c5ea0acca8b88 +++ /dev/null @@ -1 +0,0 @@ -[{"141e63e650d8dbb38c5ea0acca8b88":"1"},{"cachedAt":1668206158601,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-141e63e650d8dbb38c5ea0acca8b88.buffer b/_cache/eleventy-fetch-141e63e650d8dbb38c5ea0acca8b88.buffer deleted file mode 100644 index db1d6e11..00000000 Binary files a/_cache/eleventy-fetch-141e63e650d8dbb38c5ea0acca8b88.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-144c36f24622a03a799d0189cef842 b/_cache/eleventy-fetch-144c36f24622a03a799d0189cef842 deleted file mode 100644 index d18b8173..00000000 --- a/_cache/eleventy-fetch-144c36f24622a03a799d0189cef842 +++ /dev/null @@ -1 +0,0 @@ -[{"144c36f24622a03a799d0189cef842":"1"},{"cachedAt":1739337019339,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-144c36f24622a03a799d0189cef842.buffer b/_cache/eleventy-fetch-144c36f24622a03a799d0189cef842.buffer deleted file mode 100644 index 8f67cbf3..00000000 Binary files a/_cache/eleventy-fetch-144c36f24622a03a799d0189cef842.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-14fab7725f431aacb49af2c4804247 b/_cache/eleventy-fetch-14fab7725f431aacb49af2c4804247 deleted file mode 100644 index 2da70586..00000000 --- a/_cache/eleventy-fetch-14fab7725f431aacb49af2c4804247 +++ /dev/null @@ -1 +0,0 @@ -[{"14fab7725f431aacb49af2c4804247":"1"},{"cachedAt":1739336731928,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-14fab7725f431aacb49af2c4804247.buffer b/_cache/eleventy-fetch-14fab7725f431aacb49af2c4804247.buffer deleted file mode 100644 index b9d03e8f..00000000 Binary files a/_cache/eleventy-fetch-14fab7725f431aacb49af2c4804247.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-1733be651dd7a815896e97c86185f9 b/_cache/eleventy-fetch-1733be651dd7a815896e97c86185f9 deleted file mode 100644 index 2fead12e..00000000 --- a/_cache/eleventy-fetch-1733be651dd7a815896e97c86185f9 +++ /dev/null @@ -1 +0,0 @@ -[{"1733be651dd7a815896e97c86185f9":"1"},{"cachedAt":1739337021097,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-1733be651dd7a815896e97c86185f9.buffer b/_cache/eleventy-fetch-1733be651dd7a815896e97c86185f9.buffer deleted file mode 100644 index 09cd4763..00000000 Binary files a/_cache/eleventy-fetch-1733be651dd7a815896e97c86185f9.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-1b1c2a8405807ff87e537f214ac62c b/_cache/eleventy-fetch-1b1c2a8405807ff87e537f214ac62c deleted file mode 100644 index b57ae955..00000000 --- a/_cache/eleventy-fetch-1b1c2a8405807ff87e537f214ac62c +++ /dev/null @@ -1 +0,0 @@ -[{"1b1c2a8405807ff87e537f214ac62c":"1"},{"cachedAt":1739336731732,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-1b1c2a8405807ff87e537f214ac62c.buffer b/_cache/eleventy-fetch-1b1c2a8405807ff87e537f214ac62c.buffer deleted file mode 100644 index 686b461a..00000000 Binary files a/_cache/eleventy-fetch-1b1c2a8405807ff87e537f214ac62c.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-1b1fa015c667e01fe34689fb2200ae b/_cache/eleventy-fetch-1b1fa015c667e01fe34689fb2200ae deleted file mode 100644 index 066165b4..00000000 --- a/_cache/eleventy-fetch-1b1fa015c667e01fe34689fb2200ae +++ /dev/null @@ -1 +0,0 @@ -[{"1b1fa015c667e01fe34689fb2200ae":"1"},{"cachedAt":1595888531938,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-1b1fa015c667e01fe34689fb2200ae.buffer b/_cache/eleventy-fetch-1b1fa015c667e01fe34689fb2200ae.buffer deleted file mode 100644 index 9c3f4de4..00000000 Binary files a/_cache/eleventy-fetch-1b1fa015c667e01fe34689fb2200ae.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-1bef59e30b47547c043f2593d1046a b/_cache/eleventy-fetch-1bef59e30b47547c043f2593d1046a deleted file mode 100644 index 0190fa21..00000000 --- a/_cache/eleventy-fetch-1bef59e30b47547c043f2593d1046a +++ /dev/null @@ -1 +0,0 @@ -[{"1bef59e30b47547c043f2593d1046a":"1"},{"cachedAt":1739336777969,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-1bef59e30b47547c043f2593d1046a.buffer b/_cache/eleventy-fetch-1bef59e30b47547c043f2593d1046a.buffer deleted file mode 100644 index 1d865f25..00000000 Binary files a/_cache/eleventy-fetch-1bef59e30b47547c043f2593d1046a.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-1ea0ab10a917d6d1d7e4d7c9ae18f7 b/_cache/eleventy-fetch-1ea0ab10a917d6d1d7e4d7c9ae18f7 deleted file mode 100644 index 00694463..00000000 --- a/_cache/eleventy-fetch-1ea0ab10a917d6d1d7e4d7c9ae18f7 +++ /dev/null @@ -1 +0,0 @@ -[{"1ea0ab10a917d6d1d7e4d7c9ae18f7":"1"},{"cachedAt":1739336732272,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-1ea0ab10a917d6d1d7e4d7c9ae18f7.buffer b/_cache/eleventy-fetch-1ea0ab10a917d6d1d7e4d7c9ae18f7.buffer deleted file mode 100644 index bf24f2b6..00000000 Binary files a/_cache/eleventy-fetch-1ea0ab10a917d6d1d7e4d7c9ae18f7.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-1f3b055330e7224bf774515b1a13cb b/_cache/eleventy-fetch-1f3b055330e7224bf774515b1a13cb deleted file mode 100644 index 35f49d9b..00000000 --- a/_cache/eleventy-fetch-1f3b055330e7224bf774515b1a13cb +++ /dev/null @@ -1 +0,0 @@ -[{"1f3b055330e7224bf774515b1a13cb":"1"},{"cachedAt":1668180413835,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-1f3b055330e7224bf774515b1a13cb.buffer b/_cache/eleventy-fetch-1f3b055330e7224bf774515b1a13cb.buffer deleted file mode 100644 index e948aa85..00000000 Binary files a/_cache/eleventy-fetch-1f3b055330e7224bf774515b1a13cb.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-20a7cca3d14738980cdb60b3f8bf60 b/_cache/eleventy-fetch-20a7cca3d14738980cdb60b3f8bf60 deleted file mode 100644 index 8073d8d5..00000000 --- a/_cache/eleventy-fetch-20a7cca3d14738980cdb60b3f8bf60 +++ /dev/null @@ -1 +0,0 @@ -[{"20a7cca3d14738980cdb60b3f8bf60":"1"},{"cachedAt":1739336726435,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-20a7cca3d14738980cdb60b3f8bf60.buffer b/_cache/eleventy-fetch-20a7cca3d14738980cdb60b3f8bf60.buffer deleted file mode 100644 index 0b622c1b..00000000 Binary files a/_cache/eleventy-fetch-20a7cca3d14738980cdb60b3f8bf60.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-212464b2a855e641582fa45c410c69 b/_cache/eleventy-fetch-212464b2a855e641582fa45c410c69 deleted file mode 100644 index 6290889e..00000000 --- a/_cache/eleventy-fetch-212464b2a855e641582fa45c410c69 +++ /dev/null @@ -1 +0,0 @@ -[{"212464b2a855e641582fa45c410c69":"1"},{"cachedAt":1739336730936,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-212464b2a855e641582fa45c410c69.buffer b/_cache/eleventy-fetch-212464b2a855e641582fa45c410c69.buffer deleted file mode 100644 index 2d8f0b45..00000000 Binary files a/_cache/eleventy-fetch-212464b2a855e641582fa45c410c69.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-23177a650b76e149d62526f1dce4ae b/_cache/eleventy-fetch-23177a650b76e149d62526f1dce4ae deleted file mode 100644 index 03e82e48..00000000 --- a/_cache/eleventy-fetch-23177a650b76e149d62526f1dce4ae +++ /dev/null @@ -1 +0,0 @@ -[{"23177a650b76e149d62526f1dce4ae":"1"},{"cachedAt":1739336727417,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-23177a650b76e149d62526f1dce4ae.buffer b/_cache/eleventy-fetch-23177a650b76e149d62526f1dce4ae.buffer deleted file mode 100644 index e500198f..00000000 Binary files a/_cache/eleventy-fetch-23177a650b76e149d62526f1dce4ae.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-23406ae2c3ab8113929c0c9bd5998a b/_cache/eleventy-fetch-23406ae2c3ab8113929c0c9bd5998a deleted file mode 100644 index 4b7e91f0..00000000 --- a/_cache/eleventy-fetch-23406ae2c3ab8113929c0c9bd5998a +++ /dev/null @@ -1 +0,0 @@ -[{"23406ae2c3ab8113929c0c9bd5998a":"1"},{"cachedAt":1739336739964,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-23406ae2c3ab8113929c0c9bd5998a.buffer b/_cache/eleventy-fetch-23406ae2c3ab8113929c0c9bd5998a.buffer deleted file mode 100644 index 6be12a53..00000000 Binary files a/_cache/eleventy-fetch-23406ae2c3ab8113929c0c9bd5998a.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-235044fc09600fd1013fda2a8cf871 b/_cache/eleventy-fetch-235044fc09600fd1013fda2a8cf871 deleted file mode 100644 index 5e7188ca..00000000 --- a/_cache/eleventy-fetch-235044fc09600fd1013fda2a8cf871 +++ /dev/null @@ -1 +0,0 @@ -[{"235044fc09600fd1013fda2a8cf871":"1"},{"cachedAt":1739336728884,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-235044fc09600fd1013fda2a8cf871.buffer b/_cache/eleventy-fetch-235044fc09600fd1013fda2a8cf871.buffer deleted file mode 100644 index aeed0fe7..00000000 Binary files a/_cache/eleventy-fetch-235044fc09600fd1013fda2a8cf871.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-257202d47432a7ffe68741e0884dcc b/_cache/eleventy-fetch-257202d47432a7ffe68741e0884dcc deleted file mode 100644 index ccb39be3..00000000 --- a/_cache/eleventy-fetch-257202d47432a7ffe68741e0884dcc +++ /dev/null @@ -1 +0,0 @@ -[{"257202d47432a7ffe68741e0884dcc":"1"},{"cachedAt":1739336727080,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-257202d47432a7ffe68741e0884dcc.buffer b/_cache/eleventy-fetch-257202d47432a7ffe68741e0884dcc.buffer deleted file mode 100644 index f27f05ec..00000000 Binary files a/_cache/eleventy-fetch-257202d47432a7ffe68741e0884dcc.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-29d2c7dbcd32a58e565c10ed8fbdff b/_cache/eleventy-fetch-29d2c7dbcd32a58e565c10ed8fbdff deleted file mode 100644 index df54b496..00000000 --- a/_cache/eleventy-fetch-29d2c7dbcd32a58e565c10ed8fbdff +++ /dev/null @@ -1 +0,0 @@ -[{"29d2c7dbcd32a58e565c10ed8fbdff":"1"},{"cachedAt":1739336733687,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-29d2c7dbcd32a58e565c10ed8fbdff.buffer b/_cache/eleventy-fetch-29d2c7dbcd32a58e565c10ed8fbdff.buffer deleted file mode 100644 index 7ec56d0e..00000000 Binary files a/_cache/eleventy-fetch-29d2c7dbcd32a58e565c10ed8fbdff.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2c780952bd012a6451800b437948b7 b/_cache/eleventy-fetch-2c780952bd012a6451800b437948b7 deleted file mode 100644 index 3b154bff..00000000 --- a/_cache/eleventy-fetch-2c780952bd012a6451800b437948b7 +++ /dev/null @@ -1 +0,0 @@ -[{"2c780952bd012a6451800b437948b7":"1"},{"cachedAt":1668206144713,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2c780952bd012a6451800b437948b7.buffer b/_cache/eleventy-fetch-2c780952bd012a6451800b437948b7.buffer deleted file mode 100644 index af32604e..00000000 Binary files a/_cache/eleventy-fetch-2c780952bd012a6451800b437948b7.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2ccebbc2fa1ec120638ab2c2cb1b6e b/_cache/eleventy-fetch-2ccebbc2fa1ec120638ab2c2cb1b6e deleted file mode 100644 index 185b1305..00000000 --- a/_cache/eleventy-fetch-2ccebbc2fa1ec120638ab2c2cb1b6e +++ /dev/null @@ -1 +0,0 @@ -[{"2ccebbc2fa1ec120638ab2c2cb1b6e":"1"},{"cachedAt":1739336730082,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2ccebbc2fa1ec120638ab2c2cb1b6e.buffer b/_cache/eleventy-fetch-2ccebbc2fa1ec120638ab2c2cb1b6e.buffer deleted file mode 100644 index 58ea0c32..00000000 Binary files a/_cache/eleventy-fetch-2ccebbc2fa1ec120638ab2c2cb1b6e.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2d77ad9c90ecf52603fa766dc6e1d5 b/_cache/eleventy-fetch-2d77ad9c90ecf52603fa766dc6e1d5 deleted file mode 100644 index 1f4af760..00000000 --- a/_cache/eleventy-fetch-2d77ad9c90ecf52603fa766dc6e1d5 +++ /dev/null @@ -1 +0,0 @@ -[{"2d77ad9c90ecf52603fa766dc6e1d5":"1"},{"cachedAt":1668206150605,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2d77ad9c90ecf52603fa766dc6e1d5.buffer b/_cache/eleventy-fetch-2d77ad9c90ecf52603fa766dc6e1d5.buffer deleted file mode 100644 index 21f0156f..00000000 Binary files a/_cache/eleventy-fetch-2d77ad9c90ecf52603fa766dc6e1d5.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2da06eeff6f8d555e80719f090d13e b/_cache/eleventy-fetch-2da06eeff6f8d555e80719f090d13e deleted file mode 100644 index 50d6beb0..00000000 --- a/_cache/eleventy-fetch-2da06eeff6f8d555e80719f090d13e +++ /dev/null @@ -1 +0,0 @@ -[{"2da06eeff6f8d555e80719f090d13e":"1"},{"cachedAt":1739336728092,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2da06eeff6f8d555e80719f090d13e.buffer b/_cache/eleventy-fetch-2da06eeff6f8d555e80719f090d13e.buffer deleted file mode 100644 index dc594df6..00000000 Binary files a/_cache/eleventy-fetch-2da06eeff6f8d555e80719f090d13e.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2eb1f3ea2cda2a413b8e62fb6d81b5 b/_cache/eleventy-fetch-2eb1f3ea2cda2a413b8e62fb6d81b5 deleted file mode 100644 index 0a6c5dc5..00000000 --- a/_cache/eleventy-fetch-2eb1f3ea2cda2a413b8e62fb6d81b5 +++ /dev/null @@ -1 +0,0 @@ -[{"2eb1f3ea2cda2a413b8e62fb6d81b5":"1"},{"cachedAt":1739336738320,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2eb1f3ea2cda2a413b8e62fb6d81b5.buffer b/_cache/eleventy-fetch-2eb1f3ea2cda2a413b8e62fb6d81b5.buffer deleted file mode 100644 index a1da3794..00000000 Binary files a/_cache/eleventy-fetch-2eb1f3ea2cda2a413b8e62fb6d81b5.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2ec0b86201e54bd9d878fb9cce8805 b/_cache/eleventy-fetch-2ec0b86201e54bd9d878fb9cce8805 deleted file mode 100644 index 89e2c23b..00000000 --- a/_cache/eleventy-fetch-2ec0b86201e54bd9d878fb9cce8805 +++ /dev/null @@ -1 +0,0 @@ -[{"2ec0b86201e54bd9d878fb9cce8805":"1"},{"cachedAt":1668180403139,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2ec0b86201e54bd9d878fb9cce8805.buffer b/_cache/eleventy-fetch-2ec0b86201e54bd9d878fb9cce8805.buffer deleted file mode 100644 index cd5ef1e3..00000000 Binary files a/_cache/eleventy-fetch-2ec0b86201e54bd9d878fb9cce8805.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2fee4201f4be66f8c734bc4051927b b/_cache/eleventy-fetch-2fee4201f4be66f8c734bc4051927b deleted file mode 100644 index 6188d4c2..00000000 --- a/_cache/eleventy-fetch-2fee4201f4be66f8c734bc4051927b +++ /dev/null @@ -1 +0,0 @@ -[{"2fee4201f4be66f8c734bc4051927b":"1"},{"cachedAt":1668180411875,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2fee4201f4be66f8c734bc4051927b.buffer b/_cache/eleventy-fetch-2fee4201f4be66f8c734bc4051927b.buffer deleted file mode 100644 index dedaf4cd..00000000 Binary files a/_cache/eleventy-fetch-2fee4201f4be66f8c734bc4051927b.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-2ff4f26bd14d35ca6a0e0cd2319f78 b/_cache/eleventy-fetch-2ff4f26bd14d35ca6a0e0cd2319f78 deleted file mode 100644 index 93b14560..00000000 --- a/_cache/eleventy-fetch-2ff4f26bd14d35ca6a0e0cd2319f78 +++ /dev/null @@ -1 +0,0 @@ -[{"2ff4f26bd14d35ca6a0e0cd2319f78":"1"},{"cachedAt":1668206146129,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-2ff4f26bd14d35ca6a0e0cd2319f78.buffer b/_cache/eleventy-fetch-2ff4f26bd14d35ca6a0e0cd2319f78.buffer deleted file mode 100644 index ae3617ab..00000000 Binary files a/_cache/eleventy-fetch-2ff4f26bd14d35ca6a0e0cd2319f78.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-34e7bc0189bdd7f0697244824bc5cc b/_cache/eleventy-fetch-34e7bc0189bdd7f0697244824bc5cc deleted file mode 100644 index 0077ca62..00000000 --- a/_cache/eleventy-fetch-34e7bc0189bdd7f0697244824bc5cc +++ /dev/null @@ -1 +0,0 @@ -[{"34e7bc0189bdd7f0697244824bc5cc":"1"},{"cachedAt":1591716061416,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-34e7bc0189bdd7f0697244824bc5cc.buffer b/_cache/eleventy-fetch-34e7bc0189bdd7f0697244824bc5cc.buffer deleted file mode 100644 index af32604e..00000000 Binary files a/_cache/eleventy-fetch-34e7bc0189bdd7f0697244824bc5cc.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-361a22b3f685db47608fd1427d5524 b/_cache/eleventy-fetch-361a22b3f685db47608fd1427d5524 deleted file mode 100644 index 81493c8f..00000000 --- a/_cache/eleventy-fetch-361a22b3f685db47608fd1427d5524 +++ /dev/null @@ -1 +0,0 @@ -[{"361a22b3f685db47608fd1427d5524":"1"},{"cachedAt":1595888542993,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-361a22b3f685db47608fd1427d5524.buffer b/_cache/eleventy-fetch-361a22b3f685db47608fd1427d5524.buffer deleted file mode 100644 index 1f94d24c..00000000 Binary files a/_cache/eleventy-fetch-361a22b3f685db47608fd1427d5524.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-38748e61eea5c0844c7f397eacbff8 b/_cache/eleventy-fetch-38748e61eea5c0844c7f397eacbff8 deleted file mode 100644 index 88b2ecf4..00000000 --- a/_cache/eleventy-fetch-38748e61eea5c0844c7f397eacbff8 +++ /dev/null @@ -1 +0,0 @@ -[{"38748e61eea5c0844c7f397eacbff8":"1"},{"cachedAt":1739336730664,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-38748e61eea5c0844c7f397eacbff8.buffer b/_cache/eleventy-fetch-38748e61eea5c0844c7f397eacbff8.buffer deleted file mode 100644 index 68ba4f35..00000000 Binary files a/_cache/eleventy-fetch-38748e61eea5c0844c7f397eacbff8.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-39f41e196d3614c1a0018b0548cce2 b/_cache/eleventy-fetch-39f41e196d3614c1a0018b0548cce2 deleted file mode 100644 index ac604903..00000000 --- a/_cache/eleventy-fetch-39f41e196d3614c1a0018b0548cce2 +++ /dev/null @@ -1 +0,0 @@ -[{"39f41e196d3614c1a0018b0548cce2":"1"},{"cachedAt":1739337019763,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-39f41e196d3614c1a0018b0548cce2.buffer b/_cache/eleventy-fetch-39f41e196d3614c1a0018b0548cce2.buffer deleted file mode 100644 index 4d44b430..00000000 Binary files a/_cache/eleventy-fetch-39f41e196d3614c1a0018b0548cce2.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-3ad2dff7c0e35d7d7ffb36b843bb2d b/_cache/eleventy-fetch-3ad2dff7c0e35d7d7ffb36b843bb2d deleted file mode 100644 index ec8724bc..00000000 --- a/_cache/eleventy-fetch-3ad2dff7c0e35d7d7ffb36b843bb2d +++ /dev/null @@ -1 +0,0 @@ -[{"3ad2dff7c0e35d7d7ffb36b843bb2d":"1"},{"cachedAt":1739336732538,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-3ad2dff7c0e35d7d7ffb36b843bb2d.buffer b/_cache/eleventy-fetch-3ad2dff7c0e35d7d7ffb36b843bb2d.buffer deleted file mode 100644 index f7f53c54..00000000 Binary files a/_cache/eleventy-fetch-3ad2dff7c0e35d7d7ffb36b843bb2d.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-3bbd6419e85bea3c7a61576f9ff36a b/_cache/eleventy-fetch-3bbd6419e85bea3c7a61576f9ff36a deleted file mode 100644 index d4440a85..00000000 --- a/_cache/eleventy-fetch-3bbd6419e85bea3c7a61576f9ff36a +++ /dev/null @@ -1 +0,0 @@ -[{"3bbd6419e85bea3c7a61576f9ff36a":"1"},{"cachedAt":1739336727482,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-3bbd6419e85bea3c7a61576f9ff36a.buffer b/_cache/eleventy-fetch-3bbd6419e85bea3c7a61576f9ff36a.buffer deleted file mode 100644 index 2343725d..00000000 Binary files a/_cache/eleventy-fetch-3bbd6419e85bea3c7a61576f9ff36a.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-3ded0c78485fbc20106edc0f37dff5 b/_cache/eleventy-fetch-3ded0c78485fbc20106edc0f37dff5 deleted file mode 100644 index 9811163a..00000000 --- a/_cache/eleventy-fetch-3ded0c78485fbc20106edc0f37dff5 +++ /dev/null @@ -1 +0,0 @@ -[{"3ded0c78485fbc20106edc0f37dff5":"1"},{"cachedAt":1739336733115,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-3ded0c78485fbc20106edc0f37dff5.buffer b/_cache/eleventy-fetch-3ded0c78485fbc20106edc0f37dff5.buffer deleted file mode 100644 index b3fa34be..00000000 Binary files a/_cache/eleventy-fetch-3ded0c78485fbc20106edc0f37dff5.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-3eaeb2e5a8a1ca18cd7b40980e7d2a b/_cache/eleventy-fetch-3eaeb2e5a8a1ca18cd7b40980e7d2a deleted file mode 100644 index 7b8b3472..00000000 --- a/_cache/eleventy-fetch-3eaeb2e5a8a1ca18cd7b40980e7d2a +++ /dev/null @@ -1 +0,0 @@ -[{"3eaeb2e5a8a1ca18cd7b40980e7d2a":"1"},{"cachedAt":1739336733235,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-3eaeb2e5a8a1ca18cd7b40980e7d2a.buffer b/_cache/eleventy-fetch-3eaeb2e5a8a1ca18cd7b40980e7d2a.buffer deleted file mode 100644 index ca461a9e..00000000 Binary files a/_cache/eleventy-fetch-3eaeb2e5a8a1ca18cd7b40980e7d2a.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-3fb5c492dec317e64e313431b09687 b/_cache/eleventy-fetch-3fb5c492dec317e64e313431b09687 deleted file mode 100644 index a1d5924c..00000000 --- a/_cache/eleventy-fetch-3fb5c492dec317e64e313431b09687 +++ /dev/null @@ -1 +0,0 @@ -[{"3fb5c492dec317e64e313431b09687":"1"},{"cachedAt":1739336777735,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-3fb5c492dec317e64e313431b09687.buffer b/_cache/eleventy-fetch-3fb5c492dec317e64e313431b09687.buffer deleted file mode 100644 index e41ff54c..00000000 Binary files a/_cache/eleventy-fetch-3fb5c492dec317e64e313431b09687.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-40811114471b44f2545469b5d31acc b/_cache/eleventy-fetch-40811114471b44f2545469b5d31acc deleted file mode 100644 index 34e99973..00000000 --- a/_cache/eleventy-fetch-40811114471b44f2545469b5d31acc +++ /dev/null @@ -1 +0,0 @@ -[{"40811114471b44f2545469b5d31acc":"1"},{"cachedAt":1731645848523,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-40811114471b44f2545469b5d31acc.buffer b/_cache/eleventy-fetch-40811114471b44f2545469b5d31acc.buffer deleted file mode 100644 index 33aae787..00000000 Binary files a/_cache/eleventy-fetch-40811114471b44f2545469b5d31acc.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-4172c64aed9f35fb3efaa65aa72899 b/_cache/eleventy-fetch-4172c64aed9f35fb3efaa65aa72899 deleted file mode 100644 index 7dbfeb8f..00000000 --- a/_cache/eleventy-fetch-4172c64aed9f35fb3efaa65aa72899 +++ /dev/null @@ -1 +0,0 @@ -[{"4172c64aed9f35fb3efaa65aa72899":"1"},{"cachedAt":1739336729639,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-4172c64aed9f35fb3efaa65aa72899.buffer b/_cache/eleventy-fetch-4172c64aed9f35fb3efaa65aa72899.buffer deleted file mode 100644 index 47326caf..00000000 Binary files a/_cache/eleventy-fetch-4172c64aed9f35fb3efaa65aa72899.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-41db830ccf70d2da7eb4f87e7be2f7 b/_cache/eleventy-fetch-41db830ccf70d2da7eb4f87e7be2f7 deleted file mode 100644 index cf21e8f3..00000000 --- a/_cache/eleventy-fetch-41db830ccf70d2da7eb4f87e7be2f7 +++ /dev/null @@ -1 +0,0 @@ -[{"41db830ccf70d2da7eb4f87e7be2f7":"1"},{"cachedAt":1739336726835,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-41db830ccf70d2da7eb4f87e7be2f7.buffer b/_cache/eleventy-fetch-41db830ccf70d2da7eb4f87e7be2f7.buffer deleted file mode 100644 index 1cbb0314..00000000 Binary files a/_cache/eleventy-fetch-41db830ccf70d2da7eb4f87e7be2f7.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-452d20504d0a2c0c64a7cc6277b916 b/_cache/eleventy-fetch-452d20504d0a2c0c64a7cc6277b916 deleted file mode 100644 index c29a46c6..00000000 --- a/_cache/eleventy-fetch-452d20504d0a2c0c64a7cc6277b916 +++ /dev/null @@ -1 +0,0 @@ -[{"452d20504d0a2c0c64a7cc6277b916":"1"},{"cachedAt":1739337017568,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-452d20504d0a2c0c64a7cc6277b916.buffer b/_cache/eleventy-fetch-452d20504d0a2c0c64a7cc6277b916.buffer deleted file mode 100644 index ad49c1aa..00000000 Binary files a/_cache/eleventy-fetch-452d20504d0a2c0c64a7cc6277b916.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-45b8e1cadfa56d9ec89d9f007e5372 b/_cache/eleventy-fetch-45b8e1cadfa56d9ec89d9f007e5372 deleted file mode 100644 index 4b5321f5..00000000 --- a/_cache/eleventy-fetch-45b8e1cadfa56d9ec89d9f007e5372 +++ /dev/null @@ -1 +0,0 @@ -[{"45b8e1cadfa56d9ec89d9f007e5372":"1"},{"cachedAt":1739336742605,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-45b8e1cadfa56d9ec89d9f007e5372.buffer b/_cache/eleventy-fetch-45b8e1cadfa56d9ec89d9f007e5372.buffer deleted file mode 100644 index cbf996ac..00000000 Binary files a/_cache/eleventy-fetch-45b8e1cadfa56d9ec89d9f007e5372.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-45c946cbb52de75f2178c7459ac932 b/_cache/eleventy-fetch-45c946cbb52de75f2178c7459ac932 deleted file mode 100644 index 4f3d7929..00000000 --- a/_cache/eleventy-fetch-45c946cbb52de75f2178c7459ac932 +++ /dev/null @@ -1 +0,0 @@ -[{"45c946cbb52de75f2178c7459ac932":"1"},{"cachedAt":1668207144264,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-45c946cbb52de75f2178c7459ac932.buffer b/_cache/eleventy-fetch-45c946cbb52de75f2178c7459ac932.buffer deleted file mode 100644 index 38aa0910..00000000 Binary files a/_cache/eleventy-fetch-45c946cbb52de75f2178c7459ac932.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-46c62edb1b64649ef7a31f233dcb60 b/_cache/eleventy-fetch-46c62edb1b64649ef7a31f233dcb60 deleted file mode 100644 index 56caf4e5..00000000 --- a/_cache/eleventy-fetch-46c62edb1b64649ef7a31f233dcb60 +++ /dev/null @@ -1 +0,0 @@ -[{"46c62edb1b64649ef7a31f233dcb60":"1"},{"cachedAt":1739574945390,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-46c62edb1b64649ef7a31f233dcb60.buffer b/_cache/eleventy-fetch-46c62edb1b64649ef7a31f233dcb60.buffer deleted file mode 100644 index 971c1eee..00000000 Binary files a/_cache/eleventy-fetch-46c62edb1b64649ef7a31f233dcb60.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-4b3532f22ae8337d9cc1c5a4c12c5c b/_cache/eleventy-fetch-4b3532f22ae8337d9cc1c5a4c12c5c deleted file mode 100644 index 6e674ac2..00000000 --- a/_cache/eleventy-fetch-4b3532f22ae8337d9cc1c5a4c12c5c +++ /dev/null @@ -1 +0,0 @@ -[{"4b3532f22ae8337d9cc1c5a4c12c5c":"1"},{"cachedAt":1668206146200,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-4b3532f22ae8337d9cc1c5a4c12c5c.buffer b/_cache/eleventy-fetch-4b3532f22ae8337d9cc1c5a4c12c5c.buffer deleted file mode 100644 index 9c3f4de4..00000000 Binary files a/_cache/eleventy-fetch-4b3532f22ae8337d9cc1c5a4c12c5c.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-534ad79143216405e1f7516ac93e7b b/_cache/eleventy-fetch-534ad79143216405e1f7516ac93e7b deleted file mode 100644 index cbd1c533..00000000 --- a/_cache/eleventy-fetch-534ad79143216405e1f7516ac93e7b +++ /dev/null @@ -1 +0,0 @@ -[{"534ad79143216405e1f7516ac93e7b":"1"},{"cachedAt":1739336727022,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-534ad79143216405e1f7516ac93e7b.buffer b/_cache/eleventy-fetch-534ad79143216405e1f7516ac93e7b.buffer deleted file mode 100644 index 570d44e3..00000000 Binary files a/_cache/eleventy-fetch-534ad79143216405e1f7516ac93e7b.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-562cd1f64d93093e71ae91b8534877 b/_cache/eleventy-fetch-562cd1f64d93093e71ae91b8534877 deleted file mode 100644 index e62105f4..00000000 --- a/_cache/eleventy-fetch-562cd1f64d93093e71ae91b8534877 +++ /dev/null @@ -1 +0,0 @@ -[{"562cd1f64d93093e71ae91b8534877":"1"},{"cachedAt":1591716065117,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-562cd1f64d93093e71ae91b8534877.buffer b/_cache/eleventy-fetch-562cd1f64d93093e71ae91b8534877.buffer deleted file mode 100644 index 21f0156f..00000000 Binary files a/_cache/eleventy-fetch-562cd1f64d93093e71ae91b8534877.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-56dd27dccb51e318085fa784409ee5 b/_cache/eleventy-fetch-56dd27dccb51e318085fa784409ee5 deleted file mode 100644 index 16da5e94..00000000 --- a/_cache/eleventy-fetch-56dd27dccb51e318085fa784409ee5 +++ /dev/null @@ -1 +0,0 @@ -[{"56dd27dccb51e318085fa784409ee5":"1"},{"cachedAt":1595888540055,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-56dd27dccb51e318085fa784409ee5.buffer b/_cache/eleventy-fetch-56dd27dccb51e318085fa784409ee5.buffer deleted file mode 100644 index 775ad128..00000000 Binary files a/_cache/eleventy-fetch-56dd27dccb51e318085fa784409ee5.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-5bd73a7c82fe7c6ece413ed390525a b/_cache/eleventy-fetch-5bd73a7c82fe7c6ece413ed390525a deleted file mode 100644 index 5261d4ab..00000000 --- a/_cache/eleventy-fetch-5bd73a7c82fe7c6ece413ed390525a +++ /dev/null @@ -1 +0,0 @@ -[{"5bd73a7c82fe7c6ece413ed390525a":"1"},{"cachedAt":1741653275962,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-5bd73a7c82fe7c6ece413ed390525a.buffer b/_cache/eleventy-fetch-5bd73a7c82fe7c6ece413ed390525a.buffer deleted file mode 100644 index ea704d3e..00000000 Binary files a/_cache/eleventy-fetch-5bd73a7c82fe7c6ece413ed390525a.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-5cb3a360215d900c9e028566c0eb42 b/_cache/eleventy-fetch-5cb3a360215d900c9e028566c0eb42 deleted file mode 100644 index abed6f03..00000000 --- a/_cache/eleventy-fetch-5cb3a360215d900c9e028566c0eb42 +++ /dev/null @@ -1 +0,0 @@ -[{"5cb3a360215d900c9e028566c0eb42":"1"},{"cachedAt":1739336726153,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-5cb3a360215d900c9e028566c0eb42.buffer b/_cache/eleventy-fetch-5cb3a360215d900c9e028566c0eb42.buffer deleted file mode 100644 index 990029cf..00000000 Binary files a/_cache/eleventy-fetch-5cb3a360215d900c9e028566c0eb42.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-5d1d3e07d4c20ef591c9735d8b3dab b/_cache/eleventy-fetch-5d1d3e07d4c20ef591c9735d8b3dab deleted file mode 100644 index 0ffde452..00000000 --- a/_cache/eleventy-fetch-5d1d3e07d4c20ef591c9735d8b3dab +++ /dev/null @@ -1 +0,0 @@ -[{"5d1d3e07d4c20ef591c9735d8b3dab":"1"},{"cachedAt":1595888541097,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-5d1d3e07d4c20ef591c9735d8b3dab.buffer b/_cache/eleventy-fetch-5d1d3e07d4c20ef591c9735d8b3dab.buffer deleted file mode 100644 index bfb1409f..00000000 Binary files a/_cache/eleventy-fetch-5d1d3e07d4c20ef591c9735d8b3dab.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-5e298118d8399babbdc2f6e25af29f b/_cache/eleventy-fetch-5e298118d8399babbdc2f6e25af29f deleted file mode 100644 index 44ea9e1a..00000000 --- a/_cache/eleventy-fetch-5e298118d8399babbdc2f6e25af29f +++ /dev/null @@ -1 +0,0 @@ -[{"5e298118d8399babbdc2f6e25af29f":"1"},{"cachedAt":1668180415205,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-5e298118d8399babbdc2f6e25af29f.buffer b/_cache/eleventy-fetch-5e298118d8399babbdc2f6e25af29f.buffer deleted file mode 100644 index dfb5b201..00000000 Binary files a/_cache/eleventy-fetch-5e298118d8399babbdc2f6e25af29f.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-6068ea38a01719b5f2974e4954c73e b/_cache/eleventy-fetch-6068ea38a01719b5f2974e4954c73e deleted file mode 100644 index 90d04772..00000000 --- a/_cache/eleventy-fetch-6068ea38a01719b5f2974e4954c73e +++ /dev/null @@ -1 +0,0 @@ -[{"6068ea38a01719b5f2974e4954c73e":"1"},{"cachedAt":1668206146807,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-6068ea38a01719b5f2974e4954c73e.buffer b/_cache/eleventy-fetch-6068ea38a01719b5f2974e4954c73e.buffer deleted file mode 100644 index f9ef4ebb..00000000 Binary files a/_cache/eleventy-fetch-6068ea38a01719b5f2974e4954c73e.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-60a415f373d3b1aafa2d31d72f4055 b/_cache/eleventy-fetch-60a415f373d3b1aafa2d31d72f4055 deleted file mode 100644 index 7970f284..00000000 --- a/_cache/eleventy-fetch-60a415f373d3b1aafa2d31d72f4055 +++ /dev/null @@ -1 +0,0 @@ -[{"60a415f373d3b1aafa2d31d72f4055":"1"},{"cachedAt":1739336729002,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-60a415f373d3b1aafa2d31d72f4055.buffer b/_cache/eleventy-fetch-60a415f373d3b1aafa2d31d72f4055.buffer deleted file mode 100644 index 4223bf94..00000000 Binary files a/_cache/eleventy-fetch-60a415f373d3b1aafa2d31d72f4055.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-61593619bea5812ffa5116a8e9bc39 b/_cache/eleventy-fetch-61593619bea5812ffa5116a8e9bc39 deleted file mode 100644 index 22a64d75..00000000 --- a/_cache/eleventy-fetch-61593619bea5812ffa5116a8e9bc39 +++ /dev/null @@ -1 +0,0 @@ -[{"61593619bea5812ffa5116a8e9bc39":"1"},{"cachedAt":1739336727930,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-61593619bea5812ffa5116a8e9bc39.buffer b/_cache/eleventy-fetch-61593619bea5812ffa5116a8e9bc39.buffer deleted file mode 100644 index 9687de1c..00000000 Binary files a/_cache/eleventy-fetch-61593619bea5812ffa5116a8e9bc39.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-648e21599ef4bb07bc5e7957244f39 b/_cache/eleventy-fetch-648e21599ef4bb07bc5e7957244f39 deleted file mode 100644 index 7a19709d..00000000 --- a/_cache/eleventy-fetch-648e21599ef4bb07bc5e7957244f39 +++ /dev/null @@ -1 +0,0 @@ -[{"648e21599ef4bb07bc5e7957244f39":"1"},{"cachedAt":1739336741915,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-648e21599ef4bb07bc5e7957244f39.buffer b/_cache/eleventy-fetch-648e21599ef4bb07bc5e7957244f39.buffer deleted file mode 100644 index 92d1febb..00000000 Binary files a/_cache/eleventy-fetch-648e21599ef4bb07bc5e7957244f39.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-659d2fec2088af8d208cd4943ca165 b/_cache/eleventy-fetch-659d2fec2088af8d208cd4943ca165 deleted file mode 100644 index 1e0c8a16..00000000 --- a/_cache/eleventy-fetch-659d2fec2088af8d208cd4943ca165 +++ /dev/null @@ -1 +0,0 @@ -[{"659d2fec2088af8d208cd4943ca165":"1"},{"cachedAt":1737923643868,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-659d2fec2088af8d208cd4943ca165.buffer b/_cache/eleventy-fetch-659d2fec2088af8d208cd4943ca165.buffer deleted file mode 100644 index 799bce86..00000000 Binary files a/_cache/eleventy-fetch-659d2fec2088af8d208cd4943ca165.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-685440fbe2f0622f6296b86fedc281 b/_cache/eleventy-fetch-685440fbe2f0622f6296b86fedc281 deleted file mode 100644 index bc3625dd..00000000 --- a/_cache/eleventy-fetch-685440fbe2f0622f6296b86fedc281 +++ /dev/null @@ -1 +0,0 @@ -[{"685440fbe2f0622f6296b86fedc281":"1"},{"cachedAt":1668180412280,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-685440fbe2f0622f6296b86fedc281.buffer b/_cache/eleventy-fetch-685440fbe2f0622f6296b86fedc281.buffer deleted file mode 100644 index 91cbfbb4..00000000 Binary files a/_cache/eleventy-fetch-685440fbe2f0622f6296b86fedc281.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-697219db72245b88281013779a9080 b/_cache/eleventy-fetch-697219db72245b88281013779a9080 deleted file mode 100644 index 98d41795..00000000 --- a/_cache/eleventy-fetch-697219db72245b88281013779a9080 +++ /dev/null @@ -1 +0,0 @@ -[{"697219db72245b88281013779a9080":"1"},{"cachedAt":1739336739819,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-697219db72245b88281013779a9080.buffer b/_cache/eleventy-fetch-697219db72245b88281013779a9080.buffer deleted file mode 100644 index 4413998b..00000000 Binary files a/_cache/eleventy-fetch-697219db72245b88281013779a9080.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-6a05505651d7781114d83953bcec26 b/_cache/eleventy-fetch-6a05505651d7781114d83953bcec26 deleted file mode 100644 index dcfbcd71..00000000 --- a/_cache/eleventy-fetch-6a05505651d7781114d83953bcec26 +++ /dev/null @@ -1 +0,0 @@ -[{"6a05505651d7781114d83953bcec26":"1"},{"cachedAt":1595888512017,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-6a05505651d7781114d83953bcec26.buffer b/_cache/eleventy-fetch-6a05505651d7781114d83953bcec26.buffer deleted file mode 100644 index 905bbba9..00000000 Binary files a/_cache/eleventy-fetch-6a05505651d7781114d83953bcec26.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-6a7ab40df2ff4223f35065fc6cc119 b/_cache/eleventy-fetch-6a7ab40df2ff4223f35065fc6cc119 deleted file mode 100644 index 4200507c..00000000 --- a/_cache/eleventy-fetch-6a7ab40df2ff4223f35065fc6cc119 +++ /dev/null @@ -1 +0,0 @@ -[{"6a7ab40df2ff4223f35065fc6cc119":"1"},{"cachedAt":1739336729249,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-6a7ab40df2ff4223f35065fc6cc119.buffer b/_cache/eleventy-fetch-6a7ab40df2ff4223f35065fc6cc119.buffer deleted file mode 100644 index c753b6c2..00000000 Binary files a/_cache/eleventy-fetch-6a7ab40df2ff4223f35065fc6cc119.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-6de1602cd770084c4c5c35bd4d0b39 b/_cache/eleventy-fetch-6de1602cd770084c4c5c35bd4d0b39 deleted file mode 100644 index 172117c0..00000000 --- a/_cache/eleventy-fetch-6de1602cd770084c4c5c35bd4d0b39 +++ /dev/null @@ -1 +0,0 @@ -[{"6de1602cd770084c4c5c35bd4d0b39":"1"},{"cachedAt":1739336729712,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-6de1602cd770084c4c5c35bd4d0b39.buffer b/_cache/eleventy-fetch-6de1602cd770084c4c5c35bd4d0b39.buffer deleted file mode 100644 index 8a419cd8..00000000 Binary files a/_cache/eleventy-fetch-6de1602cd770084c4c5c35bd4d0b39.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-70d0073ef9c434787a2175c28ddf26 b/_cache/eleventy-fetch-70d0073ef9c434787a2175c28ddf26 deleted file mode 100644 index 47decf96..00000000 --- a/_cache/eleventy-fetch-70d0073ef9c434787a2175c28ddf26 +++ /dev/null @@ -1 +0,0 @@ -[{"70d0073ef9c434787a2175c28ddf26":"1"},{"cachedAt":1739337019175,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-70d0073ef9c434787a2175c28ddf26.buffer b/_cache/eleventy-fetch-70d0073ef9c434787a2175c28ddf26.buffer deleted file mode 100644 index c4477a32..00000000 Binary files a/_cache/eleventy-fetch-70d0073ef9c434787a2175c28ddf26.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-757afd00a529c7ede7949b8c6114a3 b/_cache/eleventy-fetch-757afd00a529c7ede7949b8c6114a3 deleted file mode 100644 index 04a9af47..00000000 --- a/_cache/eleventy-fetch-757afd00a529c7ede7949b8c6114a3 +++ /dev/null @@ -1 +0,0 @@ -[{"757afd00a529c7ede7949b8c6114a3":"1"},{"cachedAt":1739337019023,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-757afd00a529c7ede7949b8c6114a3.buffer b/_cache/eleventy-fetch-757afd00a529c7ede7949b8c6114a3.buffer deleted file mode 100644 index 867398d6..00000000 Binary files a/_cache/eleventy-fetch-757afd00a529c7ede7949b8c6114a3.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-7665c26e9def3ea8a7308ca12a2d17 b/_cache/eleventy-fetch-7665c26e9def3ea8a7308ca12a2d17 deleted file mode 100644 index 6392fcf3..00000000 --- a/_cache/eleventy-fetch-7665c26e9def3ea8a7308ca12a2d17 +++ /dev/null @@ -1 +0,0 @@ -[{"7665c26e9def3ea8a7308ca12a2d17":"1"},{"cachedAt":1668206151724,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-7665c26e9def3ea8a7308ca12a2d17.buffer b/_cache/eleventy-fetch-7665c26e9def3ea8a7308ca12a2d17.buffer deleted file mode 100644 index 1f94d24c..00000000 Binary files a/_cache/eleventy-fetch-7665c26e9def3ea8a7308ca12a2d17.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-7f961846ef778ceb3296dada29c563 b/_cache/eleventy-fetch-7f961846ef778ceb3296dada29c563 deleted file mode 100644 index d36b7091..00000000 --- a/_cache/eleventy-fetch-7f961846ef778ceb3296dada29c563 +++ /dev/null @@ -1 +0,0 @@ -[{"7f961846ef778ceb3296dada29c563":"1"},{"cachedAt":1739336726480,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-7f961846ef778ceb3296dada29c563.buffer b/_cache/eleventy-fetch-7f961846ef778ceb3296dada29c563.buffer deleted file mode 100644 index 2cdd0d93..00000000 Binary files a/_cache/eleventy-fetch-7f961846ef778ceb3296dada29c563.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-818928c1fb5795faa576ef73946885 b/_cache/eleventy-fetch-818928c1fb5795faa576ef73946885 deleted file mode 100644 index c7cf2593..00000000 --- a/_cache/eleventy-fetch-818928c1fb5795faa576ef73946885 +++ /dev/null @@ -1 +0,0 @@ -[{"818928c1fb5795faa576ef73946885":"1"},{"cachedAt":1739336741620,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-818928c1fb5795faa576ef73946885.buffer b/_cache/eleventy-fetch-818928c1fb5795faa576ef73946885.buffer deleted file mode 100644 index 125aea6e..00000000 Binary files a/_cache/eleventy-fetch-818928c1fb5795faa576ef73946885.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-81f046bbd2de6a59e07f75874ba063 b/_cache/eleventy-fetch-81f046bbd2de6a59e07f75874ba063 deleted file mode 100644 index 4f0c12ac..00000000 --- a/_cache/eleventy-fetch-81f046bbd2de6a59e07f75874ba063 +++ /dev/null @@ -1 +0,0 @@ -[{"81f046bbd2de6a59e07f75874ba063":"1"},{"cachedAt":1668206146200,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-81f046bbd2de6a59e07f75874ba063.buffer b/_cache/eleventy-fetch-81f046bbd2de6a59e07f75874ba063.buffer deleted file mode 100644 index c91d295e..00000000 Binary files a/_cache/eleventy-fetch-81f046bbd2de6a59e07f75874ba063.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-86a31cb052f58288a5199038a83fe0 b/_cache/eleventy-fetch-86a31cb052f58288a5199038a83fe0 deleted file mode 100644 index 181dd602..00000000 --- a/_cache/eleventy-fetch-86a31cb052f58288a5199038a83fe0 +++ /dev/null @@ -1 +0,0 @@ -[{"86a31cb052f58288a5199038a83fe0":"1"},{"cachedAt":1739336730810,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-86a31cb052f58288a5199038a83fe0.buffer b/_cache/eleventy-fetch-86a31cb052f58288a5199038a83fe0.buffer deleted file mode 100644 index 6a32762d..00000000 Binary files a/_cache/eleventy-fetch-86a31cb052f58288a5199038a83fe0.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-8971053bbd1fda8c28ab05853853ea b/_cache/eleventy-fetch-8971053bbd1fda8c28ab05853853ea deleted file mode 100644 index b1e5f246..00000000 --- a/_cache/eleventy-fetch-8971053bbd1fda8c28ab05853853ea +++ /dev/null @@ -1 +0,0 @@ -[{"8971053bbd1fda8c28ab05853853ea":"1"},{"cachedAt":1739336729462,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-8971053bbd1fda8c28ab05853853ea.buffer b/_cache/eleventy-fetch-8971053bbd1fda8c28ab05853853ea.buffer deleted file mode 100644 index eb582cfb..00000000 Binary files a/_cache/eleventy-fetch-8971053bbd1fda8c28ab05853853ea.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-8acc1f4ec42e40596fa814d867919e b/_cache/eleventy-fetch-8acc1f4ec42e40596fa814d867919e deleted file mode 100644 index 30154ca1..00000000 --- a/_cache/eleventy-fetch-8acc1f4ec42e40596fa814d867919e +++ /dev/null @@ -1 +0,0 @@ -[{"8acc1f4ec42e40596fa814d867919e":"1"},{"cachedAt":1668206147516,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-8acc1f4ec42e40596fa814d867919e.buffer b/_cache/eleventy-fetch-8acc1f4ec42e40596fa814d867919e.buffer deleted file mode 100644 index e39eebd6..00000000 Binary files a/_cache/eleventy-fetch-8acc1f4ec42e40596fa814d867919e.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-8bb6d472189338ee73b3ec4fedd636 b/_cache/eleventy-fetch-8bb6d472189338ee73b3ec4fedd636 deleted file mode 100644 index 0626acd0..00000000 --- a/_cache/eleventy-fetch-8bb6d472189338ee73b3ec4fedd636 +++ /dev/null @@ -1 +0,0 @@ -[{"8bb6d472189338ee73b3ec4fedd636":"1"},{"cachedAt":1739336739371,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-8bb6d472189338ee73b3ec4fedd636.buffer b/_cache/eleventy-fetch-8bb6d472189338ee73b3ec4fedd636.buffer deleted file mode 100644 index 8355bd75..00000000 Binary files a/_cache/eleventy-fetch-8bb6d472189338ee73b3ec4fedd636.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-8c783d712b58fbd2dc0aca0b87f5e6 b/_cache/eleventy-fetch-8c783d712b58fbd2dc0aca0b87f5e6 deleted file mode 100644 index 8be8dc1c..00000000 --- a/_cache/eleventy-fetch-8c783d712b58fbd2dc0aca0b87f5e6 +++ /dev/null @@ -1 +0,0 @@ -[{"8c783d712b58fbd2dc0aca0b87f5e6":"1"},{"cachedAt":1595888513777,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-8c783d712b58fbd2dc0aca0b87f5e6.buffer b/_cache/eleventy-fetch-8c783d712b58fbd2dc0aca0b87f5e6.buffer deleted file mode 100644 index ba1cc46e..00000000 Binary files a/_cache/eleventy-fetch-8c783d712b58fbd2dc0aca0b87f5e6.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-9073c6a350641476e4cf791d4e7ce0 b/_cache/eleventy-fetch-9073c6a350641476e4cf791d4e7ce0 deleted file mode 100644 index 3d366522..00000000 --- a/_cache/eleventy-fetch-9073c6a350641476e4cf791d4e7ce0 +++ /dev/null @@ -1 +0,0 @@ -[{"9073c6a350641476e4cf791d4e7ce0":"1"},{"cachedAt":1668206144728,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-9073c6a350641476e4cf791d4e7ce0.buffer b/_cache/eleventy-fetch-9073c6a350641476e4cf791d4e7ce0.buffer deleted file mode 100644 index 905bbba9..00000000 Binary files a/_cache/eleventy-fetch-9073c6a350641476e4cf791d4e7ce0.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-937df52620b96b38273948296936e2 b/_cache/eleventy-fetch-937df52620b96b38273948296936e2 deleted file mode 100644 index 40fd3c25..00000000 --- a/_cache/eleventy-fetch-937df52620b96b38273948296936e2 +++ /dev/null @@ -1 +0,0 @@ -[{"937df52620b96b38273948296936e2":"1"},{"cachedAt":1739336730340,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-937df52620b96b38273948296936e2.buffer b/_cache/eleventy-fetch-937df52620b96b38273948296936e2.buffer deleted file mode 100644 index 2960df8a..00000000 Binary files a/_cache/eleventy-fetch-937df52620b96b38273948296936e2.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-950737a9f567caa732790c4e85deb0 b/_cache/eleventy-fetch-950737a9f567caa732790c4e85deb0 deleted file mode 100644 index daff5c63..00000000 --- a/_cache/eleventy-fetch-950737a9f567caa732790c4e85deb0 +++ /dev/null @@ -1 +0,0 @@ -[{"950737a9f567caa732790c4e85deb0":"1"},{"cachedAt":1739336728583,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-950737a9f567caa732790c4e85deb0.buffer b/_cache/eleventy-fetch-950737a9f567caa732790c4e85deb0.buffer deleted file mode 100644 index cf507ffd..00000000 Binary files a/_cache/eleventy-fetch-950737a9f567caa732790c4e85deb0.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-976c2905ee6d70c6f6da6d9d4bcb3f b/_cache/eleventy-fetch-976c2905ee6d70c6f6da6d9d4bcb3f deleted file mode 100644 index 1be376a5..00000000 --- a/_cache/eleventy-fetch-976c2905ee6d70c6f6da6d9d4bcb3f +++ /dev/null @@ -1 +0,0 @@ -[{"976c2905ee6d70c6f6da6d9d4bcb3f":"1"},{"cachedAt":1739336727648,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-976c2905ee6d70c6f6da6d9d4bcb3f.buffer b/_cache/eleventy-fetch-976c2905ee6d70c6f6da6d9d4bcb3f.buffer deleted file mode 100644 index 4a9cb323..00000000 Binary files a/_cache/eleventy-fetch-976c2905ee6d70c6f6da6d9d4bcb3f.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-998dff2927fa1376ce73cf5cadb8a3 b/_cache/eleventy-fetch-998dff2927fa1376ce73cf5cadb8a3 deleted file mode 100644 index 1240d198..00000000 --- a/_cache/eleventy-fetch-998dff2927fa1376ce73cf5cadb8a3 +++ /dev/null @@ -1 +0,0 @@ -[{"998dff2927fa1376ce73cf5cadb8a3":"1"},{"cachedAt":1739337018034,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-998dff2927fa1376ce73cf5cadb8a3.buffer b/_cache/eleventy-fetch-998dff2927fa1376ce73cf5cadb8a3.buffer deleted file mode 100644 index d74db8b1..00000000 Binary files a/_cache/eleventy-fetch-998dff2927fa1376ce73cf5cadb8a3.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-9d04839230d7355ffd77be047a0989 b/_cache/eleventy-fetch-9d04839230d7355ffd77be047a0989 deleted file mode 100644 index cd398274..00000000 --- a/_cache/eleventy-fetch-9d04839230d7355ffd77be047a0989 +++ /dev/null @@ -1 +0,0 @@ -[{"9d04839230d7355ffd77be047a0989":"1"},{"cachedAt":1739336738869,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-9d04839230d7355ffd77be047a0989.buffer b/_cache/eleventy-fetch-9d04839230d7355ffd77be047a0989.buffer deleted file mode 100644 index e9115da6..00000000 Binary files a/_cache/eleventy-fetch-9d04839230d7355ffd77be047a0989.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-a6c1c6c98ced17bdfe17d301c1d692 b/_cache/eleventy-fetch-a6c1c6c98ced17bdfe17d301c1d692 deleted file mode 100644 index db656962..00000000 --- a/_cache/eleventy-fetch-a6c1c6c98ced17bdfe17d301c1d692 +++ /dev/null @@ -1 +0,0 @@ -[{"a6c1c6c98ced17bdfe17d301c1d692":"1"},{"cachedAt":1595888514182,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-a6c1c6c98ced17bdfe17d301c1d692.buffer b/_cache/eleventy-fetch-a6c1c6c98ced17bdfe17d301c1d692.buffer deleted file mode 100644 index c91d295e..00000000 Binary files a/_cache/eleventy-fetch-a6c1c6c98ced17bdfe17d301c1d692.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-a80da75cfac4652372e8b2aa7538a5 b/_cache/eleventy-fetch-a80da75cfac4652372e8b2aa7538a5 deleted file mode 100644 index 394145e2..00000000 --- a/_cache/eleventy-fetch-a80da75cfac4652372e8b2aa7538a5 +++ /dev/null @@ -1 +0,0 @@ -[{"a80da75cfac4652372e8b2aa7538a5":"1"},{"cachedAt":1739336739647,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-a80da75cfac4652372e8b2aa7538a5.buffer b/_cache/eleventy-fetch-a80da75cfac4652372e8b2aa7538a5.buffer deleted file mode 100644 index 04712bb4..00000000 Binary files a/_cache/eleventy-fetch-a80da75cfac4652372e8b2aa7538a5.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-ab9b401048f10c26faa6f8ecdf78d0 b/_cache/eleventy-fetch-ab9b401048f10c26faa6f8ecdf78d0 deleted file mode 100644 index a35e0ba2..00000000 --- a/_cache/eleventy-fetch-ab9b401048f10c26faa6f8ecdf78d0 +++ /dev/null @@ -1 +0,0 @@ -[{"ab9b401048f10c26faa6f8ecdf78d0":"1"},{"cachedAt":1591716042325,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-ab9b401048f10c26faa6f8ecdf78d0.buffer b/_cache/eleventy-fetch-ab9b401048f10c26faa6f8ecdf78d0.buffer deleted file mode 100644 index 3b4ccfc4..00000000 Binary files a/_cache/eleventy-fetch-ab9b401048f10c26faa6f8ecdf78d0.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-abafa37071844df8541b05fb2c1561 b/_cache/eleventy-fetch-abafa37071844df8541b05fb2c1561 deleted file mode 100644 index 989ad323..00000000 --- a/_cache/eleventy-fetch-abafa37071844df8541b05fb2c1561 +++ /dev/null @@ -1 +0,0 @@ -[{"abafa37071844df8541b05fb2c1561":"1"},{"cachedAt":1739336731136,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-abafa37071844df8541b05fb2c1561.buffer b/_cache/eleventy-fetch-abafa37071844df8541b05fb2c1561.buffer deleted file mode 100644 index 324ffbb3..00000000 Binary files a/_cache/eleventy-fetch-abafa37071844df8541b05fb2c1561.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-ae37c52f5309dcd4bb52af1233743d b/_cache/eleventy-fetch-ae37c52f5309dcd4bb52af1233743d deleted file mode 100644 index 301b1b49..00000000 --- a/_cache/eleventy-fetch-ae37c52f5309dcd4bb52af1233743d +++ /dev/null @@ -1 +0,0 @@ -[{"ae37c52f5309dcd4bb52af1233743d":"1"},{"cachedAt":1595888516556,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-ae37c52f5309dcd4bb52af1233743d.buffer b/_cache/eleventy-fetch-ae37c52f5309dcd4bb52af1233743d.buffer deleted file mode 100644 index 2c88113c..00000000 Binary files a/_cache/eleventy-fetch-ae37c52f5309dcd4bb52af1233743d.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-b35b7df6fb305080fb15f063481e8b b/_cache/eleventy-fetch-b35b7df6fb305080fb15f063481e8b deleted file mode 100644 index 1c844118..00000000 --- a/_cache/eleventy-fetch-b35b7df6fb305080fb15f063481e8b +++ /dev/null @@ -1 +0,0 @@ -[{"b35b7df6fb305080fb15f063481e8b":"1"},{"cachedAt":1668180413633,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-b35b7df6fb305080fb15f063481e8b.buffer b/_cache/eleventy-fetch-b35b7df6fb305080fb15f063481e8b.buffer deleted file mode 100644 index f4b974cd..00000000 Binary files a/_cache/eleventy-fetch-b35b7df6fb305080fb15f063481e8b.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-b405eb56a794bd8dd43d13b1ef6137 b/_cache/eleventy-fetch-b405eb56a794bd8dd43d13b1ef6137 deleted file mode 100644 index 477a0b42..00000000 --- a/_cache/eleventy-fetch-b405eb56a794bd8dd43d13b1ef6137 +++ /dev/null @@ -1 +0,0 @@ -[{"b405eb56a794bd8dd43d13b1ef6137":"1"},{"cachedAt":1668206144690,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-b405eb56a794bd8dd43d13b1ef6137.buffer b/_cache/eleventy-fetch-b405eb56a794bd8dd43d13b1ef6137.buffer deleted file mode 100644 index ba1cc46e..00000000 Binary files a/_cache/eleventy-fetch-b405eb56a794bd8dd43d13b1ef6137.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-b55f017c9eb5a8bc149dcd870d9e29 b/_cache/eleventy-fetch-b55f017c9eb5a8bc149dcd870d9e29 deleted file mode 100644 index 7bc2f023..00000000 --- a/_cache/eleventy-fetch-b55f017c9eb5a8bc149dcd870d9e29 +++ /dev/null @@ -1 +0,0 @@ -[{"b55f017c9eb5a8bc149dcd870d9e29":"1"},{"cachedAt":1739336736539,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-b55f017c9eb5a8bc149dcd870d9e29.buffer b/_cache/eleventy-fetch-b55f017c9eb5a8bc149dcd870d9e29.buffer deleted file mode 100644 index a73038e2..00000000 Binary files a/_cache/eleventy-fetch-b55f017c9eb5a8bc149dcd870d9e29.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-b7d4c2b1d2f41728be2cb08853c323 b/_cache/eleventy-fetch-b7d4c2b1d2f41728be2cb08853c323 deleted file mode 100644 index 6a0fafe9..00000000 --- a/_cache/eleventy-fetch-b7d4c2b1d2f41728be2cb08853c323 +++ /dev/null @@ -1 +0,0 @@ -[{"b7d4c2b1d2f41728be2cb08853c323":"1"},{"cachedAt":1739337018870,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-b7d4c2b1d2f41728be2cb08853c323.buffer b/_cache/eleventy-fetch-b7d4c2b1d2f41728be2cb08853c323.buffer deleted file mode 100644 index 0ce11384..00000000 Binary files a/_cache/eleventy-fetch-b7d4c2b1d2f41728be2cb08853c323.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-bcf76dbb1fa813387ebd5d210ccf51 b/_cache/eleventy-fetch-bcf76dbb1fa813387ebd5d210ccf51 deleted file mode 100644 index b0ce2935..00000000 --- a/_cache/eleventy-fetch-bcf76dbb1fa813387ebd5d210ccf51 +++ /dev/null @@ -1 +0,0 @@ -[{"bcf76dbb1fa813387ebd5d210ccf51":"1"},{"cachedAt":1739336726375,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-bcf76dbb1fa813387ebd5d210ccf51.buffer b/_cache/eleventy-fetch-bcf76dbb1fa813387ebd5d210ccf51.buffer deleted file mode 100644 index c1f95db9..00000000 Binary files a/_cache/eleventy-fetch-bcf76dbb1fa813387ebd5d210ccf51.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-bd6ffc7c3fdf9f9b851722c544531e b/_cache/eleventy-fetch-bd6ffc7c3fdf9f9b851722c544531e deleted file mode 100644 index 3481bf55..00000000 --- a/_cache/eleventy-fetch-bd6ffc7c3fdf9f9b851722c544531e +++ /dev/null @@ -1 +0,0 @@ -[{"bd6ffc7c3fdf9f9b851722c544531e":"1"},{"cachedAt":1739336737497,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-bd6ffc7c3fdf9f9b851722c544531e.buffer b/_cache/eleventy-fetch-bd6ffc7c3fdf9f9b851722c544531e.buffer deleted file mode 100644 index 12ed379e..00000000 Binary files a/_cache/eleventy-fetch-bd6ffc7c3fdf9f9b851722c544531e.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-c0f02e0bae69a9b275b7408916f864 b/_cache/eleventy-fetch-c0f02e0bae69a9b275b7408916f864 deleted file mode 100644 index 85114a00..00000000 --- a/_cache/eleventy-fetch-c0f02e0bae69a9b275b7408916f864 +++ /dev/null @@ -1 +0,0 @@ -[{"c0f02e0bae69a9b275b7408916f864":"1"},{"cachedAt":1739336777110,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-c0f02e0bae69a9b275b7408916f864.buffer b/_cache/eleventy-fetch-c0f02e0bae69a9b275b7408916f864.buffer deleted file mode 100644 index 85891f5d..00000000 Binary files a/_cache/eleventy-fetch-c0f02e0bae69a9b275b7408916f864.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-c32c3ea34b19f6612d7df18312f1f7 b/_cache/eleventy-fetch-c32c3ea34b19f6612d7df18312f1f7 deleted file mode 100644 index 936d5c7b..00000000 --- a/_cache/eleventy-fetch-c32c3ea34b19f6612d7df18312f1f7 +++ /dev/null @@ -1 +0,0 @@ -[{"c32c3ea34b19f6612d7df18312f1f7":"1"},{"cachedAt":1739337017431,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-c32c3ea34b19f6612d7df18312f1f7.buffer b/_cache/eleventy-fetch-c32c3ea34b19f6612d7df18312f1f7.buffer deleted file mode 100644 index 14a27608..00000000 Binary files a/_cache/eleventy-fetch-c32c3ea34b19f6612d7df18312f1f7.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-c365313f68247eda667807731dba93 b/_cache/eleventy-fetch-c365313f68247eda667807731dba93 deleted file mode 100644 index 7d76d1e3..00000000 --- a/_cache/eleventy-fetch-c365313f68247eda667807731dba93 +++ /dev/null @@ -1 +0,0 @@ -[{"c365313f68247eda667807731dba93":"1"},{"cachedAt":1739336740911,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-c365313f68247eda667807731dba93.buffer b/_cache/eleventy-fetch-c365313f68247eda667807731dba93.buffer deleted file mode 100644 index b0f20ad4..00000000 Binary files a/_cache/eleventy-fetch-c365313f68247eda667807731dba93.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-c6cd66e90859d31e679e6f43ccff0c b/_cache/eleventy-fetch-c6cd66e90859d31e679e6f43ccff0c deleted file mode 100644 index 9ba60862..00000000 --- a/_cache/eleventy-fetch-c6cd66e90859d31e679e6f43ccff0c +++ /dev/null @@ -1 +0,0 @@ -[{"c6cd66e90859d31e679e6f43ccff0c":"1"},{"cachedAt":1739336732404,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-c6cd66e90859d31e679e6f43ccff0c.buffer b/_cache/eleventy-fetch-c6cd66e90859d31e679e6f43ccff0c.buffer deleted file mode 100644 index 7a5af291..00000000 Binary files a/_cache/eleventy-fetch-c6cd66e90859d31e679e6f43ccff0c.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-c738bc10a78aa93d275253b5bd0c00 b/_cache/eleventy-fetch-c738bc10a78aa93d275253b5bd0c00 deleted file mode 100644 index f9f2fef7..00000000 --- a/_cache/eleventy-fetch-c738bc10a78aa93d275253b5bd0c00 +++ /dev/null @@ -1 +0,0 @@ -[{"c738bc10a78aa93d275253b5bd0c00":"1"},{"cachedAt":1739336726887,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-c738bc10a78aa93d275253b5bd0c00.buffer b/_cache/eleventy-fetch-c738bc10a78aa93d275253b5bd0c00.buffer deleted file mode 100644 index e6afe319..00000000 Binary files a/_cache/eleventy-fetch-c738bc10a78aa93d275253b5bd0c00.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-c7aa29c44396eb072d7c67a9c82133 b/_cache/eleventy-fetch-c7aa29c44396eb072d7c67a9c82133 deleted file mode 100644 index 1c958b35..00000000 --- a/_cache/eleventy-fetch-c7aa29c44396eb072d7c67a9c82133 +++ /dev/null @@ -1 +0,0 @@ -[{"c7aa29c44396eb072d7c67a9c82133":"1"},{"cachedAt":1739336733451,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-c7aa29c44396eb072d7c67a9c82133.buffer b/_cache/eleventy-fetch-c7aa29c44396eb072d7c67a9c82133.buffer deleted file mode 100644 index 790e0ec7..00000000 Binary files a/_cache/eleventy-fetch-c7aa29c44396eb072d7c67a9c82133.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-cfa14fc0ea8232a4da78ea0aea94b2 b/_cache/eleventy-fetch-cfa14fc0ea8232a4da78ea0aea94b2 deleted file mode 100644 index 5b290e68..00000000 --- a/_cache/eleventy-fetch-cfa14fc0ea8232a4da78ea0aea94b2 +++ /dev/null @@ -1 +0,0 @@ -[{"cfa14fc0ea8232a4da78ea0aea94b2":"1"},{"cachedAt":1595888509147,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-cfa14fc0ea8232a4da78ea0aea94b2.buffer b/_cache/eleventy-fetch-cfa14fc0ea8232a4da78ea0aea94b2.buffer deleted file mode 100644 index ae3617ab..00000000 Binary files a/_cache/eleventy-fetch-cfa14fc0ea8232a4da78ea0aea94b2.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-d05c780b4280cc616d6b200b2664ea b/_cache/eleventy-fetch-d05c780b4280cc616d6b200b2664ea deleted file mode 100644 index b4993012..00000000 --- a/_cache/eleventy-fetch-d05c780b4280cc616d6b200b2664ea +++ /dev/null @@ -1 +0,0 @@ -[{"d05c780b4280cc616d6b200b2664ea":"1"},{"cachedAt":1739337020259,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-d05c780b4280cc616d6b200b2664ea.buffer b/_cache/eleventy-fetch-d05c780b4280cc616d6b200b2664ea.buffer deleted file mode 100644 index 3adcfd51..00000000 Binary files a/_cache/eleventy-fetch-d05c780b4280cc616d6b200b2664ea.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-d06588e066cc611b308bba3d2d70cf b/_cache/eleventy-fetch-d06588e066cc611b308bba3d2d70cf deleted file mode 100644 index 4ec564c9..00000000 --- a/_cache/eleventy-fetch-d06588e066cc611b308bba3d2d70cf +++ /dev/null @@ -1 +0,0 @@ -[{"d06588e066cc611b308bba3d2d70cf":"1"},{"cachedAt":1595888516237,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-d06588e066cc611b308bba3d2d70cf.buffer b/_cache/eleventy-fetch-d06588e066cc611b308bba3d2d70cf.buffer deleted file mode 100644 index 130edb53..00000000 Binary files a/_cache/eleventy-fetch-d06588e066cc611b308bba3d2d70cf.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-d7e0d4e58758f138bda94755e4772c b/_cache/eleventy-fetch-d7e0d4e58758f138bda94755e4772c deleted file mode 100644 index c7a6350b..00000000 --- a/_cache/eleventy-fetch-d7e0d4e58758f138bda94755e4772c +++ /dev/null @@ -1 +0,0 @@ -[{"d7e0d4e58758f138bda94755e4772c":"1"},{"cachedAt":1591716063619,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-d7e0d4e58758f138bda94755e4772c.buffer b/_cache/eleventy-fetch-d7e0d4e58758f138bda94755e4772c.buffer deleted file mode 100644 index 0d22e13e..00000000 Binary files a/_cache/eleventy-fetch-d7e0d4e58758f138bda94755e4772c.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-dc6a281cecf3233ac611174f989c25 b/_cache/eleventy-fetch-dc6a281cecf3233ac611174f989c25 deleted file mode 100644 index 5f0efd42..00000000 --- a/_cache/eleventy-fetch-dc6a281cecf3233ac611174f989c25 +++ /dev/null @@ -1 +0,0 @@ -[{"dc6a281cecf3233ac611174f989c25":"1"},{"cachedAt":1668180413905,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-dc6a281cecf3233ac611174f989c25.buffer b/_cache/eleventy-fetch-dc6a281cecf3233ac611174f989c25.buffer deleted file mode 100644 index a36fb91e..00000000 Binary files a/_cache/eleventy-fetch-dc6a281cecf3233ac611174f989c25.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-dd63f6301a8c4cede00dc5ef8bd069 b/_cache/eleventy-fetch-dd63f6301a8c4cede00dc5ef8bd069 deleted file mode 100644 index 9df4489f..00000000 --- a/_cache/eleventy-fetch-dd63f6301a8c4cede00dc5ef8bd069 +++ /dev/null @@ -1 +0,0 @@ -[{"dd63f6301a8c4cede00dc5ef8bd069":"1"},{"cachedAt":1668180413691,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-dd63f6301a8c4cede00dc5ef8bd069.buffer b/_cache/eleventy-fetch-dd63f6301a8c4cede00dc5ef8bd069.buffer deleted file mode 100644 index 2b945c7d..00000000 Binary files a/_cache/eleventy-fetch-dd63f6301a8c4cede00dc5ef8bd069.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-e521d835bd7687506c1bc862f85902 b/_cache/eleventy-fetch-e521d835bd7687506c1bc862f85902 deleted file mode 100644 index 1acbfe90..00000000 --- a/_cache/eleventy-fetch-e521d835bd7687506c1bc862f85902 +++ /dev/null @@ -1 +0,0 @@ -[{"e521d835bd7687506c1bc862f85902":"1"},{"cachedAt":1668203738464,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-e521d835bd7687506c1bc862f85902.buffer b/_cache/eleventy-fetch-e521d835bd7687506c1bc862f85902.buffer deleted file mode 100644 index c91d295e..00000000 Binary files a/_cache/eleventy-fetch-e521d835bd7687506c1bc862f85902.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-e6114fdc892d211234d613887ee604 b/_cache/eleventy-fetch-e6114fdc892d211234d613887ee604 deleted file mode 100644 index 2d330a4d..00000000 --- a/_cache/eleventy-fetch-e6114fdc892d211234d613887ee604 +++ /dev/null @@ -1 +0,0 @@ -[{"e6114fdc892d211234d613887ee604":"1"},{"cachedAt":1739336737953,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-e6114fdc892d211234d613887ee604.buffer b/_cache/eleventy-fetch-e6114fdc892d211234d613887ee604.buffer deleted file mode 100644 index cf016771..00000000 Binary files a/_cache/eleventy-fetch-e6114fdc892d211234d613887ee604.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-e6542dd0471c6999775a42f671715a b/_cache/eleventy-fetch-e6542dd0471c6999775a42f671715a deleted file mode 100644 index 168af05e..00000000 --- a/_cache/eleventy-fetch-e6542dd0471c6999775a42f671715a +++ /dev/null @@ -1 +0,0 @@ -[{"e6542dd0471c6999775a42f671715a":"1"},{"cachedAt":1668180410630,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-e6542dd0471c6999775a42f671715a.buffer b/_cache/eleventy-fetch-e6542dd0471c6999775a42f671715a.buffer deleted file mode 100644 index a20b0069..00000000 Binary files a/_cache/eleventy-fetch-e6542dd0471c6999775a42f671715a.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-ec3e58daf111bfbf23fcff20382d11 b/_cache/eleventy-fetch-ec3e58daf111bfbf23fcff20382d11 deleted file mode 100644 index e51ceec2..00000000 --- a/_cache/eleventy-fetch-ec3e58daf111bfbf23fcff20382d11 +++ /dev/null @@ -1 +0,0 @@ -[{"ec3e58daf111bfbf23fcff20382d11":"1"},{"cachedAt":1668206145987,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-ec3e58daf111bfbf23fcff20382d11.buffer b/_cache/eleventy-fetch-ec3e58daf111bfbf23fcff20382d11.buffer deleted file mode 100644 index bfb1409f..00000000 Binary files a/_cache/eleventy-fetch-ec3e58daf111bfbf23fcff20382d11.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-ee0f9174c16e7164582d8d4ebabef1 b/_cache/eleventy-fetch-ee0f9174c16e7164582d8d4ebabef1 deleted file mode 100644 index f6f5536f..00000000 --- a/_cache/eleventy-fetch-ee0f9174c16e7164582d8d4ebabef1 +++ /dev/null @@ -1 +0,0 @@ -[{"ee0f9174c16e7164582d8d4ebabef1":"1"},{"cachedAt":1739336741773,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-ee0f9174c16e7164582d8d4ebabef1.buffer b/_cache/eleventy-fetch-ee0f9174c16e7164582d8d4ebabef1.buffer deleted file mode 100644 index 6c144131..00000000 Binary files a/_cache/eleventy-fetch-ee0f9174c16e7164582d8d4ebabef1.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-ee8d0644c32b871c70ee09281c59b7 b/_cache/eleventy-fetch-ee8d0644c32b871c70ee09281c59b7 deleted file mode 100644 index ed0daffe..00000000 --- a/_cache/eleventy-fetch-ee8d0644c32b871c70ee09281c59b7 +++ /dev/null @@ -1 +0,0 @@ -[{"ee8d0644c32b871c70ee09281c59b7":"1"},{"cachedAt":1739336741156,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-ee8d0644c32b871c70ee09281c59b7.buffer b/_cache/eleventy-fetch-ee8d0644c32b871c70ee09281c59b7.buffer deleted file mode 100644 index 7665bc2e..00000000 Binary files a/_cache/eleventy-fetch-ee8d0644c32b871c70ee09281c59b7.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-eff566442214be98299fd3a6705192 b/_cache/eleventy-fetch-eff566442214be98299fd3a6705192 deleted file mode 100644 index b1efa0bc..00000000 --- a/_cache/eleventy-fetch-eff566442214be98299fd3a6705192 +++ /dev/null @@ -1 +0,0 @@ -[{"eff566442214be98299fd3a6705192":"1"},{"cachedAt":1668206145421,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-eff566442214be98299fd3a6705192.buffer b/_cache/eleventy-fetch-eff566442214be98299fd3a6705192.buffer deleted file mode 100644 index 2c88113c..00000000 Binary files a/_cache/eleventy-fetch-eff566442214be98299fd3a6705192.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-f327aa6ddf7f4003b208c4d37c3cee b/_cache/eleventy-fetch-f327aa6ddf7f4003b208c4d37c3cee deleted file mode 100644 index c2c5eae3..00000000 --- a/_cache/eleventy-fetch-f327aa6ddf7f4003b208c4d37c3cee +++ /dev/null @@ -1 +0,0 @@ -[{"f327aa6ddf7f4003b208c4d37c3cee":"1"},{"cachedAt":1595888508372,"type":"2"},"buffer"] diff --git a/_cache/eleventy-fetch-f327aa6ddf7f4003b208c4d37c3cee.buffer b/_cache/eleventy-fetch-f327aa6ddf7f4003b208c4d37c3cee.buffer deleted file mode 100644 index db1d6e11..00000000 Binary files a/_cache/eleventy-fetch-f327aa6ddf7f4003b208c4d37c3cee.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-f58672d9e9c9d60e1a914c92549ebd b/_cache/eleventy-fetch-f58672d9e9c9d60e1a914c92549ebd deleted file mode 100644 index 0d8972b3..00000000 --- a/_cache/eleventy-fetch-f58672d9e9c9d60e1a914c92549ebd +++ /dev/null @@ -1 +0,0 @@ -[{"f58672d9e9c9d60e1a914c92549ebd":"1"},{"cachedAt":1668180415100,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-f58672d9e9c9d60e1a914c92549ebd.buffer b/_cache/eleventy-fetch-f58672d9e9c9d60e1a914c92549ebd.buffer deleted file mode 100644 index 1bbad252..00000000 Binary files a/_cache/eleventy-fetch-f58672d9e9c9d60e1a914c92549ebd.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-facee2a278185cee9cb84093899929 b/_cache/eleventy-fetch-facee2a278185cee9cb84093899929 deleted file mode 100644 index 5f657c94..00000000 --- a/_cache/eleventy-fetch-facee2a278185cee9cb84093899929 +++ /dev/null @@ -1 +0,0 @@ -[{"facee2a278185cee9cb84093899929":"1"},{"cachedAt":1731645840804,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-facee2a278185cee9cb84093899929.buffer b/_cache/eleventy-fetch-facee2a278185cee9cb84093899929.buffer deleted file mode 100644 index a5afe55b..00000000 Binary files a/_cache/eleventy-fetch-facee2a278185cee9cb84093899929.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-fb1675060b10c4c83c4faf6340eb27 b/_cache/eleventy-fetch-fb1675060b10c4c83c4faf6340eb27 deleted file mode 100644 index 5aa9b82a..00000000 --- a/_cache/eleventy-fetch-fb1675060b10c4c83c4faf6340eb27 +++ /dev/null @@ -1 +0,0 @@ -[{"fb1675060b10c4c83c4faf6340eb27":"1"},{"cachedAt":1668206145005,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-fb1675060b10c4c83c4faf6340eb27.buffer b/_cache/eleventy-fetch-fb1675060b10c4c83c4faf6340eb27.buffer deleted file mode 100644 index 130edb53..00000000 Binary files a/_cache/eleventy-fetch-fb1675060b10c4c83c4faf6340eb27.buffer and /dev/null differ diff --git a/_cache/eleventy-fetch-fbf514e184b516f3e0e86b2a8efa7e b/_cache/eleventy-fetch-fbf514e184b516f3e0e86b2a8efa7e deleted file mode 100644 index 7c1a9930..00000000 --- a/_cache/eleventy-fetch-fbf514e184b516f3e0e86b2a8efa7e +++ /dev/null @@ -1 +0,0 @@ -[{"fbf514e184b516f3e0e86b2a8efa7e":"1"},{"cachedAt":1739336730446,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache/eleventy-fetch-fbf514e184b516f3e0e86b2a8efa7e.buffer b/_cache/eleventy-fetch-fbf514e184b516f3e0e86b2a8efa7e.buffer deleted file mode 100644 index 9110085f..00000000 Binary files a/_cache/eleventy-fetch-fbf514e184b516f3e0e86b2a8efa7e.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-1066050b b/_cache_v0/eleventy-cache-assets-1066050b deleted file mode 100644 index c966ac6a..00000000 --- a/_cache_v0/eleventy-cache-assets-1066050b +++ /dev/null @@ -1 +0,0 @@ -[{"1066050b":"1"},{"cachedAt":1595888536773,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-1066050b.buffer b/_cache_v0/eleventy-cache-assets-1066050b.buffer deleted file mode 100644 index b0f20ad4..00000000 Binary files a/_cache_v0/eleventy-cache-assets-1066050b.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-10f806b2 b/_cache_v0/eleventy-cache-assets-10f806b2 deleted file mode 100644 index 83f3da94..00000000 --- a/_cache_v0/eleventy-cache-assets-10f806b2 +++ /dev/null @@ -1 +0,0 @@ -[{"10f806b2":"1"},{"cachedAt":1595888541285,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-10f806b2.buffer b/_cache_v0/eleventy-cache-assets-10f806b2.buffer deleted file mode 100644 index 68acd53c..00000000 Binary files a/_cache_v0/eleventy-cache-assets-10f806b2.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-140681dd b/_cache_v0/eleventy-cache-assets-140681dd deleted file mode 100644 index c8ba1f92..00000000 --- a/_cache_v0/eleventy-cache-assets-140681dd +++ /dev/null @@ -1 +0,0 @@ -[{"140681dd":"1"},{"cachedAt":1595888513134,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-140681dd.buffer b/_cache_v0/eleventy-cache-assets-140681dd.buffer deleted file mode 100644 index 47326caf..00000000 Binary files a/_cache_v0/eleventy-cache-assets-140681dd.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-14355a41 b/_cache_v0/eleventy-cache-assets-14355a41 deleted file mode 100644 index e69ddaca..00000000 --- a/_cache_v0/eleventy-cache-assets-14355a41 +++ /dev/null @@ -1 +0,0 @@ -[{"14355a41":"1"},{"cachedAt":1595888533052,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-14355a41.buffer b/_cache_v0/eleventy-cache-assets-14355a41.buffer deleted file mode 100644 index 8355bd75..00000000 Binary files a/_cache_v0/eleventy-cache-assets-14355a41.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-147b5b5d b/_cache_v0/eleventy-cache-assets-147b5b5d deleted file mode 100644 index db3a0362..00000000 --- a/_cache_v0/eleventy-cache-assets-147b5b5d +++ /dev/null @@ -1 +0,0 @@ -[{"147b5b5d":"1"},{"cachedAt":1595888507832,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-147b5b5d.buffer b/_cache_v0/eleventy-cache-assets-147b5b5d.buffer deleted file mode 100644 index e41ff54c..00000000 Binary files a/_cache_v0/eleventy-cache-assets-147b5b5d.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-1858f8f8 b/_cache_v0/eleventy-cache-assets-1858f8f8 deleted file mode 100644 index aa564479..00000000 --- a/_cache_v0/eleventy-cache-assets-1858f8f8 +++ /dev/null @@ -1 +0,0 @@ -[{"1858f8f8":"1"},{"cachedAt":1595888511730,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-1858f8f8.buffer b/_cache_v0/eleventy-cache-assets-1858f8f8.buffer deleted file mode 100644 index 4223bf94..00000000 Binary files a/_cache_v0/eleventy-cache-assets-1858f8f8.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-197b867 b/_cache_v0/eleventy-cache-assets-197b867 deleted file mode 100644 index 2c2015fb..00000000 --- a/_cache_v0/eleventy-cache-assets-197b867 +++ /dev/null @@ -1 +0,0 @@ -[{"197b867":"1"},{"cachedAt":1595888515363,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-197b867.buffer b/_cache_v0/eleventy-cache-assets-197b867.buffer deleted file mode 100644 index 7e02b9e0..00000000 Binary files a/_cache_v0/eleventy-cache-assets-197b867.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-1b1b0455 b/_cache_v0/eleventy-cache-assets-1b1b0455 deleted file mode 100644 index 80c6dda0..00000000 --- a/_cache_v0/eleventy-cache-assets-1b1b0455 +++ /dev/null @@ -1 +0,0 @@ -[{"1b1b0455":"1"},{"cachedAt":1595888519455,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-1b1b0455.buffer b/_cache_v0/eleventy-cache-assets-1b1b0455.buffer deleted file mode 100644 index a4b7388a..00000000 Binary files a/_cache_v0/eleventy-cache-assets-1b1b0455.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-1fd24485 b/_cache_v0/eleventy-cache-assets-1fd24485 deleted file mode 100644 index fa1f3803..00000000 --- a/_cache_v0/eleventy-cache-assets-1fd24485 +++ /dev/null @@ -1 +0,0 @@ -[{"1fd24485":"1"},{"cachedAt":1595888546267,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-1fd24485.buffer b/_cache_v0/eleventy-cache-assets-1fd24485.buffer deleted file mode 100644 index f4b974cd..00000000 Binary files a/_cache_v0/eleventy-cache-assets-1fd24485.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-20ef9a45 b/_cache_v0/eleventy-cache-assets-20ef9a45 deleted file mode 100644 index 9b6dff49..00000000 --- a/_cache_v0/eleventy-cache-assets-20ef9a45 +++ /dev/null @@ -1 +0,0 @@ -[{"20ef9a45":"1"},{"cachedAt":1595888508372,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-20ef9a45.buffer b/_cache_v0/eleventy-cache-assets-20ef9a45.buffer deleted file mode 100644 index db1d6e11..00000000 Binary files a/_cache_v0/eleventy-cache-assets-20ef9a45.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-218b00a5 b/_cache_v0/eleventy-cache-assets-218b00a5 deleted file mode 100644 index 083f6946..00000000 --- a/_cache_v0/eleventy-cache-assets-218b00a5 +++ /dev/null @@ -1 +0,0 @@ -[{"218b00a5":"1"},{"cachedAt":1595888512017,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-218b00a5.buffer b/_cache_v0/eleventy-cache-assets-218b00a5.buffer deleted file mode 100644 index 905bbba9..00000000 Binary files a/_cache_v0/eleventy-cache-assets-218b00a5.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-23453d0 b/_cache_v0/eleventy-cache-assets-23453d0 deleted file mode 100644 index 6e28bf80..00000000 --- a/_cache_v0/eleventy-cache-assets-23453d0 +++ /dev/null @@ -1 +0,0 @@ -[{"23453d0":"1"},{"cachedAt":1595888531610,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-23453d0.buffer b/_cache_v0/eleventy-cache-assets-23453d0.buffer deleted file mode 100644 index a1da3794..00000000 Binary files a/_cache_v0/eleventy-cache-assets-23453d0.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-235aee0a b/_cache_v0/eleventy-cache-assets-235aee0a deleted file mode 100644 index 12d05734..00000000 --- a/_cache_v0/eleventy-cache-assets-235aee0a +++ /dev/null @@ -1 +0,0 @@ -[{"235aee0a":"1"},{"cachedAt":1595888546485,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-235aee0a.buffer b/_cache_v0/eleventy-cache-assets-235aee0a.buffer deleted file mode 100644 index e948aa85..00000000 Binary files a/_cache_v0/eleventy-cache-assets-235aee0a.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-29b7e7d b/_cache_v0/eleventy-cache-assets-29b7e7d deleted file mode 100644 index 6ada8df6..00000000 --- a/_cache_v0/eleventy-cache-assets-29b7e7d +++ /dev/null @@ -1 +0,0 @@ -[{"29b7e7d":"1"},{"cachedAt":1595888515204,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-29b7e7d.buffer b/_cache_v0/eleventy-cache-assets-29b7e7d.buffer deleted file mode 100644 index b3f3e507..00000000 Binary files a/_cache_v0/eleventy-cache-assets-29b7e7d.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-2ccc6f49 b/_cache_v0/eleventy-cache-assets-2ccc6f49 deleted file mode 100644 index 367d53ae..00000000 --- a/_cache_v0/eleventy-cache-assets-2ccc6f49 +++ /dev/null @@ -1 +0,0 @@ -[{"2ccc6f49":"1"},{"cachedAt":1595888519289,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-2ccc6f49.buffer b/_cache_v0/eleventy-cache-assets-2ccc6f49.buffer deleted file mode 100644 index ca461a9e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-2ccc6f49.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-2ebffb89 b/_cache_v0/eleventy-cache-assets-2ebffb89 deleted file mode 100644 index 42422648..00000000 --- a/_cache_v0/eleventy-cache-assets-2ebffb89 +++ /dev/null @@ -1 +0,0 @@ -[{"2ebffb89":"1"},{"cachedAt":1595888546375,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-2ebffb89.buffer b/_cache_v0/eleventy-cache-assets-2ebffb89.buffer deleted file mode 100644 index 2b945c7d..00000000 Binary files a/_cache_v0/eleventy-cache-assets-2ebffb89.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-2fd397b4 b/_cache_v0/eleventy-cache-assets-2fd397b4 deleted file mode 100644 index 734f818c..00000000 --- a/_cache_v0/eleventy-cache-assets-2fd397b4 +++ /dev/null @@ -1 +0,0 @@ -[{"2fd397b4":"1"},{"cachedAt":1595888516860,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-2fd397b4.buffer b/_cache_v0/eleventy-cache-assets-2fd397b4.buffer deleted file mode 100644 index 686b461a..00000000 Binary files a/_cache_v0/eleventy-cache-assets-2fd397b4.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-35faafc9 b/_cache_v0/eleventy-cache-assets-35faafc9 deleted file mode 100644 index 441b3afc..00000000 --- a/_cache_v0/eleventy-cache-assets-35faafc9 +++ /dev/null @@ -1 +0,0 @@ -[{"35faafc9":"1"},{"cachedAt":1595888514927,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-35faafc9.buffer b/_cache_v0/eleventy-cache-assets-35faafc9.buffer deleted file mode 100644 index 58379a9e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-35faafc9.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-3800231e b/_cache_v0/eleventy-cache-assets-3800231e deleted file mode 100644 index 0ce52d50..00000000 --- a/_cache_v0/eleventy-cache-assets-3800231e +++ /dev/null @@ -1 +0,0 @@ -[{"3800231e":"1"},{"cachedAt":1595888519020,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-3800231e.buffer b/_cache_v0/eleventy-cache-assets-3800231e.buffer deleted file mode 100644 index b3fa34be..00000000 Binary files a/_cache_v0/eleventy-cache-assets-3800231e.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-3cc7ca0f b/_cache_v0/eleventy-cache-assets-3cc7ca0f deleted file mode 100644 index 71eeff5c..00000000 --- a/_cache_v0/eleventy-cache-assets-3cc7ca0f +++ /dev/null @@ -1 +0,0 @@ -[{"3cc7ca0f":"1"},{"cachedAt":1595888515076,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-3cc7ca0f.buffer b/_cache_v0/eleventy-cache-assets-3cc7ca0f.buffer deleted file mode 100644 index 76750f73..00000000 Binary files a/_cache_v0/eleventy-cache-assets-3cc7ca0f.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-3d00b40 b/_cache_v0/eleventy-cache-assets-3d00b40 deleted file mode 100644 index 8c9630cd..00000000 --- a/_cache_v0/eleventy-cache-assets-3d00b40 +++ /dev/null @@ -1 +0,0 @@ -[{"3d00b40":"1"},{"cachedAt":1595888510357,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-3d00b40.buffer b/_cache_v0/eleventy-cache-assets-3d00b40.buffer deleted file mode 100644 index dc594df6..00000000 Binary files a/_cache_v0/eleventy-cache-assets-3d00b40.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-45c28b58 b/_cache_v0/eleventy-cache-assets-45c28b58 deleted file mode 100644 index b2dd703e..00000000 --- a/_cache_v0/eleventy-cache-assets-45c28b58 +++ /dev/null @@ -1 +0,0 @@ -[{"45c28b58":"1"},{"cachedAt":1595888541097,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-45c28b58.buffer b/_cache_v0/eleventy-cache-assets-45c28b58.buffer deleted file mode 100644 index bfb1409f..00000000 Binary files a/_cache_v0/eleventy-cache-assets-45c28b58.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-45e6b02e b/_cache_v0/eleventy-cache-assets-45e6b02e deleted file mode 100644 index 3747d44c..00000000 --- a/_cache_v0/eleventy-cache-assets-45e6b02e +++ /dev/null @@ -1 +0,0 @@ -[{"45e6b02e":"1"},{"cachedAt":1595888517417,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-45e6b02e.buffer b/_cache_v0/eleventy-cache-assets-45e6b02e.buffer deleted file mode 100644 index b9d03e8f..00000000 Binary files a/_cache_v0/eleventy-cache-assets-45e6b02e.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-46535caf b/_cache_v0/eleventy-cache-assets-46535caf deleted file mode 100644 index d69d8f53..00000000 --- a/_cache_v0/eleventy-cache-assets-46535caf +++ /dev/null @@ -1 +0,0 @@ -[{"46535caf":"1"},{"cachedAt":1595888534482,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-46535caf.buffer b/_cache_v0/eleventy-cache-assets-46535caf.buffer deleted file mode 100644 index a20b0069..00000000 Binary files a/_cache_v0/eleventy-cache-assets-46535caf.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-46efa1c5 b/_cache_v0/eleventy-cache-assets-46efa1c5 deleted file mode 100644 index 3314a24f..00000000 --- a/_cache_v0/eleventy-cache-assets-46efa1c5 +++ /dev/null @@ -1 +0,0 @@ -[{"46efa1c5":"1"},{"cachedAt":1595888546032,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-46efa1c5.buffer b/_cache_v0/eleventy-cache-assets-46efa1c5.buffer deleted file mode 100644 index e39eebd6..00000000 Binary files a/_cache_v0/eleventy-cache-assets-46efa1c5.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-49e2ff4 b/_cache_v0/eleventy-cache-assets-49e2ff4 deleted file mode 100644 index b9a32611..00000000 --- a/_cache_v0/eleventy-cache-assets-49e2ff4 +++ /dev/null @@ -1 +0,0 @@ -[{"49e2ff4":"1"},{"cachedAt":1595888515673,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-49e2ff4.buffer b/_cache_v0/eleventy-cache-assets-49e2ff4.buffer deleted file mode 100644 index 60552432..00000000 Binary files a/_cache_v0/eleventy-cache-assets-49e2ff4.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-4b553c68 b/_cache_v0/eleventy-cache-assets-4b553c68 deleted file mode 100644 index cde58340..00000000 --- a/_cache_v0/eleventy-cache-assets-4b553c68 +++ /dev/null @@ -1 +0,0 @@ -[{"4b553c68":"1"},{"cachedAt":1595888510924,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-4b553c68.buffer b/_cache_v0/eleventy-cache-assets-4b553c68.buffer deleted file mode 100644 index cf507ffd..00000000 Binary files a/_cache_v0/eleventy-cache-assets-4b553c68.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-4fb535b9 b/_cache_v0/eleventy-cache-assets-4fb535b9 deleted file mode 100644 index b19d49a4..00000000 --- a/_cache_v0/eleventy-cache-assets-4fb535b9 +++ /dev/null @@ -1 +0,0 @@ -[{"4fb535b9":"1"},{"cachedAt":1595888509686,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-4fb535b9.buffer b/_cache_v0/eleventy-cache-assets-4fb535b9.buffer deleted file mode 100644 index 7665bc2e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-4fb535b9.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-512f1a06 b/_cache_v0/eleventy-cache-assets-512f1a06 deleted file mode 100644 index 4a875ea0..00000000 --- a/_cache_v0/eleventy-cache-assets-512f1a06 +++ /dev/null @@ -1 +0,0 @@ -[{"512f1a06":"1"},{"cachedAt":1595888539521,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-512f1a06.buffer b/_cache_v0/eleventy-cache-assets-512f1a06.buffer deleted file mode 100644 index 14a27608..00000000 Binary files a/_cache_v0/eleventy-cache-assets-512f1a06.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-557fc075 b/_cache_v0/eleventy-cache-assets-557fc075 deleted file mode 100644 index bf8ff1cb..00000000 --- a/_cache_v0/eleventy-cache-assets-557fc075 +++ /dev/null @@ -1 +0,0 @@ -[{"557fc075":"1"},{"cachedAt":1595888509422,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-557fc075.buffer b/_cache_v0/eleventy-cache-assets-557fc075.buffer deleted file mode 100644 index cd5ef1e3..00000000 Binary files a/_cache_v0/eleventy-cache-assets-557fc075.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-56203396 b/_cache_v0/eleventy-cache-assets-56203396 deleted file mode 100644 index 469c7a13..00000000 --- a/_cache_v0/eleventy-cache-assets-56203396 +++ /dev/null @@ -1 +0,0 @@ -[{"56203396":"1"},{"cachedAt":1595888519638,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-56203396.buffer b/_cache_v0/eleventy-cache-assets-56203396.buffer deleted file mode 100644 index fbad1caf..00000000 Binary files a/_cache_v0/eleventy-cache-assets-56203396.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-57590ac7 b/_cache_v0/eleventy-cache-assets-57590ac7 deleted file mode 100644 index f58f8c3e..00000000 --- a/_cache_v0/eleventy-cache-assets-57590ac7 +++ /dev/null @@ -1 +0,0 @@ -[{"57590ac7":"1"},{"cachedAt":1595888510004,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-57590ac7.buffer b/_cache_v0/eleventy-cache-assets-57590ac7.buffer deleted file mode 100644 index 38aa0910..00000000 Binary files a/_cache_v0/eleventy-cache-assets-57590ac7.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-5a3e3afe b/_cache_v0/eleventy-cache-assets-5a3e3afe deleted file mode 100644 index 8e9a1551..00000000 --- a/_cache_v0/eleventy-cache-assets-5a3e3afe +++ /dev/null @@ -1 +0,0 @@ -[{"5a3e3afe":"1"},{"cachedAt":1595888543430,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-5a3e3afe.buffer b/_cache_v0/eleventy-cache-assets-5a3e3afe.buffer deleted file mode 100644 index 4d44b430..00000000 Binary files a/_cache_v0/eleventy-cache-assets-5a3e3afe.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-5f06dab1 b/_cache_v0/eleventy-cache-assets-5f06dab1 deleted file mode 100644 index e70776c7..00000000 --- a/_cache_v0/eleventy-cache-assets-5f06dab1 +++ /dev/null @@ -1 +0,0 @@ -[{"5f06dab1":"1"},{"cachedAt":1595888512281,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-5f06dab1.buffer b/_cache_v0/eleventy-cache-assets-5f06dab1.buffer deleted file mode 100644 index c753b6c2..00000000 Binary files a/_cache_v0/eleventy-cache-assets-5f06dab1.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-5f2cd2d6 b/_cache_v0/eleventy-cache-assets-5f2cd2d6 deleted file mode 100644 index 292b7cb2..00000000 --- a/_cache_v0/eleventy-cache-assets-5f2cd2d6 +++ /dev/null @@ -1 +0,0 @@ -[{"5f2cd2d6":"1"},{"cachedAt":1595888509147,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-5f2cd2d6.buffer b/_cache_v0/eleventy-cache-assets-5f2cd2d6.buffer deleted file mode 100644 index ae3617ab..00000000 Binary files a/_cache_v0/eleventy-cache-assets-5f2cd2d6.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-61fbc5ed b/_cache_v0/eleventy-cache-assets-61fbc5ed deleted file mode 100644 index 9e8172e3..00000000 --- a/_cache_v0/eleventy-cache-assets-61fbc5ed +++ /dev/null @@ -1 +0,0 @@ -[{"61fbc5ed":"1"},{"cachedAt":1595888548994,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-61fbc5ed.buffer b/_cache_v0/eleventy-cache-assets-61fbc5ed.buffer deleted file mode 100644 index dfb5b201..00000000 Binary files a/_cache_v0/eleventy-cache-assets-61fbc5ed.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-62e92ae8 b/_cache_v0/eleventy-cache-assets-62e92ae8 deleted file mode 100644 index 1a42918a..00000000 --- a/_cache_v0/eleventy-cache-assets-62e92ae8 +++ /dev/null @@ -1 +0,0 @@ -[{"62e92ae8":"1"},{"cachedAt":1595888546589,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-62e92ae8.buffer b/_cache_v0/eleventy-cache-assets-62e92ae8.buffer deleted file mode 100644 index a36fb91e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-62e92ae8.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-63335ea1 b/_cache_v0/eleventy-cache-assets-63335ea1 deleted file mode 100644 index 1c5e3f73..00000000 --- a/_cache_v0/eleventy-cache-assets-63335ea1 +++ /dev/null @@ -1 +0,0 @@ -[{"63335ea1":"1"},{"cachedAt":1595888518498,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-63335ea1.buffer b/_cache_v0/eleventy-cache-assets-63335ea1.buffer deleted file mode 100644 index 0a3a5634..00000000 Binary files a/_cache_v0/eleventy-cache-assets-63335ea1.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-699a7a13 b/_cache_v0/eleventy-cache-assets-699a7a13 deleted file mode 100644 index 2c529d07..00000000 --- a/_cache_v0/eleventy-cache-assets-699a7a13 +++ /dev/null @@ -1 +0,0 @@ -[{"699a7a13":"1"},{"cachedAt":1595888511385,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-699a7a13.buffer b/_cache_v0/eleventy-cache-assets-699a7a13.buffer deleted file mode 100644 index aeed0fe7..00000000 Binary files a/_cache_v0/eleventy-cache-assets-699a7a13.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-6a55c484 b/_cache_v0/eleventy-cache-assets-6a55c484 deleted file mode 100644 index 2a043876..00000000 --- a/_cache_v0/eleventy-cache-assets-6a55c484 +++ /dev/null @@ -1 +0,0 @@ -[{"6a55c484":"1"},{"cachedAt":1595888512731,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-6a55c484.buffer b/_cache_v0/eleventy-cache-assets-6a55c484.buffer deleted file mode 100644 index eb582cfb..00000000 Binary files a/_cache_v0/eleventy-cache-assets-6a55c484.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-74706997 b/_cache_v0/eleventy-cache-assets-74706997 deleted file mode 100644 index df9f8e7d..00000000 --- a/_cache_v0/eleventy-cache-assets-74706997 +++ /dev/null @@ -1 +0,0 @@ -[{"74706997":"1"},{"cachedAt":1591716061416,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-74706997.buffer b/_cache_v0/eleventy-cache-assets-74706997.buffer deleted file mode 100644 index af32604e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-74706997.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-7714f570 b/_cache_v0/eleventy-cache-assets-7714f570 deleted file mode 100644 index 3d06c7e2..00000000 --- a/_cache_v0/eleventy-cache-assets-7714f570 +++ /dev/null @@ -1 +0,0 @@ -[{"7714f570":"1"},{"cachedAt":1595888541783,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-7714f570.buffer b/_cache_v0/eleventy-cache-assets-7714f570.buffer deleted file mode 100644 index 867398d6..00000000 Binary files a/_cache_v0/eleventy-cache-assets-7714f570.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-7789d7b8 b/_cache_v0/eleventy-cache-assets-7789d7b8 deleted file mode 100644 index b2040673..00000000 --- a/_cache_v0/eleventy-cache-assets-7789d7b8 +++ /dev/null @@ -1 +0,0 @@ -[{"7789d7b8":"1"},{"cachedAt":1595888534052,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-7789d7b8.buffer b/_cache_v0/eleventy-cache-assets-7789d7b8.buffer deleted file mode 100644 index 6be12a53..00000000 Binary files a/_cache_v0/eleventy-cache-assets-7789d7b8.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-78bba897 b/_cache_v0/eleventy-cache-assets-78bba897 deleted file mode 100644 index 017a222c..00000000 --- a/_cache_v0/eleventy-cache-assets-78bba897 +++ /dev/null @@ -1 +0,0 @@ -[{"78bba897":"1"},{"cachedAt":1595888513410,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-78bba897.buffer b/_cache_v0/eleventy-cache-assets-78bba897.buffer deleted file mode 100644 index 8a419cd8..00000000 Binary files a/_cache_v0/eleventy-cache-assets-78bba897.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-7dc66755 b/_cache_v0/eleventy-cache-assets-7dc66755 deleted file mode 100644 index d1e62c50..00000000 --- a/_cache_v0/eleventy-cache-assets-7dc66755 +++ /dev/null @@ -1 +0,0 @@ -[{"7dc66755":"1"},{"cachedAt":1591716065117,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-7dc66755.buffer b/_cache_v0/eleventy-cache-assets-7dc66755.buffer deleted file mode 100644 index 21f0156f..00000000 Binary files a/_cache_v0/eleventy-cache-assets-7dc66755.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-7e263cf4 b/_cache_v0/eleventy-cache-assets-7e263cf4 deleted file mode 100644 index 1f5a944d..00000000 --- a/_cache_v0/eleventy-cache-assets-7e263cf4 +++ /dev/null @@ -1 +0,0 @@ -[{"7e263cf4":"1"},{"cachedAt":1595888541535,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-7e263cf4.buffer b/_cache_v0/eleventy-cache-assets-7e263cf4.buffer deleted file mode 100644 index 0ce11384..00000000 Binary files a/_cache_v0/eleventy-cache-assets-7e263cf4.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-7ec8f1fc b/_cache_v0/eleventy-cache-assets-7ec8f1fc deleted file mode 100644 index b9e5c1c5..00000000 --- a/_cache_v0/eleventy-cache-assets-7ec8f1fc +++ /dev/null @@ -1 +0,0 @@ -[{"7ec8f1fc":"1"},{"cachedAt":1595888530652,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-7ec8f1fc.buffer b/_cache_v0/eleventy-cache-assets-7ec8f1fc.buffer deleted file mode 100644 index 12ed379e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-7ec8f1fc.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-818937b b/_cache_v0/eleventy-cache-assets-818937b deleted file mode 100644 index 837e97eb..00000000 --- a/_cache_v0/eleventy-cache-assets-818937b +++ /dev/null @@ -1 +0,0 @@ -[{"818937b":"1"},{"cachedAt":1595888514485,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-818937b.buffer b/_cache_v0/eleventy-cache-assets-818937b.buffer deleted file mode 100644 index 58ea0c32..00000000 Binary files a/_cache_v0/eleventy-cache-assets-818937b.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-82ff6ac3 b/_cache_v0/eleventy-cache-assets-82ff6ac3 deleted file mode 100644 index c99ca17f..00000000 --- a/_cache_v0/eleventy-cache-assets-82ff6ac3 +++ /dev/null @@ -1 +0,0 @@ -[{"82ff6ac3":"1"},{"cachedAt":1591716042325,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-82ff6ac3.buffer b/_cache_v0/eleventy-cache-assets-82ff6ac3.buffer deleted file mode 100644 index 3b4ccfc4..00000000 Binary files a/_cache_v0/eleventy-cache-assets-82ff6ac3.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-86fefaa0 b/_cache_v0/eleventy-cache-assets-86fefaa0 deleted file mode 100644 index d7f870f7..00000000 --- a/_cache_v0/eleventy-cache-assets-86fefaa0 +++ /dev/null @@ -1 +0,0 @@ -[{"86fefaa0":"1"},{"cachedAt":1595888531938,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-86fefaa0.buffer b/_cache_v0/eleventy-cache-assets-86fefaa0.buffer deleted file mode 100644 index 9c3f4de4..00000000 Binary files a/_cache_v0/eleventy-cache-assets-86fefaa0.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-8890fb2a b/_cache_v0/eleventy-cache-assets-8890fb2a deleted file mode 100644 index 885e7290..00000000 --- a/_cache_v0/eleventy-cache-assets-8890fb2a +++ /dev/null @@ -1 +0,0 @@ -[{"8890fb2a":"1"},{"cachedAt":1595888523887,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-8890fb2a.buffer b/_cache_v0/eleventy-cache-assets-8890fb2a.buffer deleted file mode 100644 index 0e3229b0..00000000 Binary files a/_cache_v0/eleventy-cache-assets-8890fb2a.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-8a9813b3 b/_cache_v0/eleventy-cache-assets-8a9813b3 deleted file mode 100644 index 2c6eb467..00000000 --- a/_cache_v0/eleventy-cache-assets-8a9813b3 +++ /dev/null @@ -1 +0,0 @@ -[{"8a9813b3":"1"},{"cachedAt":1595888542568,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-8a9813b3.buffer b/_cache_v0/eleventy-cache-assets-8a9813b3.buffer deleted file mode 100644 index 8f67cbf3..00000000 Binary files a/_cache_v0/eleventy-cache-assets-8a9813b3.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-90774652 b/_cache_v0/eleventy-cache-assets-90774652 deleted file mode 100644 index 070a2610..00000000 --- a/_cache_v0/eleventy-cache-assets-90774652 +++ /dev/null @@ -1 +0,0 @@ -[{"90774652":"1"},{"cachedAt":1595888515883,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-90774652.buffer b/_cache_v0/eleventy-cache-assets-90774652.buffer deleted file mode 100644 index a59d0aac..00000000 Binary files a/_cache_v0/eleventy-cache-assets-90774652.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-90c13559 b/_cache_v0/eleventy-cache-assets-90c13559 deleted file mode 100644 index b3f49f2a..00000000 --- a/_cache_v0/eleventy-cache-assets-90c13559 +++ /dev/null @@ -1 +0,0 @@ -[{"90c13559":"1"},{"cachedAt":1595888508638,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-90c13559.buffer b/_cache_v0/eleventy-cache-assets-90c13559.buffer deleted file mode 100644 index 85891f5d..00000000 Binary files a/_cache_v0/eleventy-cache-assets-90c13559.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-94a36436 b/_cache_v0/eleventy-cache-assets-94a36436 deleted file mode 100644 index 10c65c95..00000000 --- a/_cache_v0/eleventy-cache-assets-94a36436 +++ /dev/null @@ -1 +0,0 @@ -[{"94a36436":"1"},{"cachedAt":1595888532305,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-94a36436.buffer b/_cache_v0/eleventy-cache-assets-94a36436.buffer deleted file mode 100644 index e9115da6..00000000 Binary files a/_cache_v0/eleventy-cache-assets-94a36436.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-952d1aa b/_cache_v0/eleventy-cache-assets-952d1aa deleted file mode 100644 index 3146cf36..00000000 --- a/_cache_v0/eleventy-cache-assets-952d1aa +++ /dev/null @@ -1 +0,0 @@ -[{"952d1aa":"1"},{"cachedAt":1595888542340,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-952d1aa.buffer b/_cache_v0/eleventy-cache-assets-952d1aa.buffer deleted file mode 100644 index c4477a32..00000000 Binary files a/_cache_v0/eleventy-cache-assets-952d1aa.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-9b63d4af b/_cache_v0/eleventy-cache-assets-9b63d4af deleted file mode 100644 index 96408428..00000000 --- a/_cache_v0/eleventy-cache-assets-9b63d4af +++ /dev/null @@ -1 +0,0 @@ -[{"9b63d4af":"1"},{"cachedAt":1595888537237,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-9b63d4af.buffer b/_cache_v0/eleventy-cache-assets-9b63d4af.buffer deleted file mode 100644 index 3b605644..00000000 Binary files a/_cache_v0/eleventy-cache-assets-9b63d4af.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-9e77b84a b/_cache_v0/eleventy-cache-assets-9e77b84a deleted file mode 100644 index f77455c2..00000000 --- a/_cache_v0/eleventy-cache-assets-9e77b84a +++ /dev/null @@ -1 +0,0 @@ -[{"9e77b84a":"1"},{"cachedAt":1595888513777,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-9e77b84a.buffer b/_cache_v0/eleventy-cache-assets-9e77b84a.buffer deleted file mode 100644 index ba1cc46e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-9e77b84a.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-a3867ed2 b/_cache_v0/eleventy-cache-assets-a3867ed2 deleted file mode 100644 index 9c1a90d3..00000000 --- a/_cache_v0/eleventy-cache-assets-a3867ed2 +++ /dev/null @@ -1 +0,0 @@ -[{"a3867ed2":"1"},{"cachedAt":1595888537677,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-a3867ed2.buffer b/_cache_v0/eleventy-cache-assets-a3867ed2.buffer deleted file mode 100644 index 6c144131..00000000 Binary files a/_cache_v0/eleventy-cache-assets-a3867ed2.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-a9100def b/_cache_v0/eleventy-cache-assets-a9100def deleted file mode 100644 index f042ae53..00000000 --- a/_cache_v0/eleventy-cache-assets-a9100def +++ /dev/null @@ -1 +0,0 @@ -[{"a9100def":"1"},{"cachedAt":1591716063619,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-a9100def.buffer b/_cache_v0/eleventy-cache-assets-a9100def.buffer deleted file mode 100644 index 0d22e13e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-a9100def.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-a92b8c24 b/_cache_v0/eleventy-cache-assets-a92b8c24 deleted file mode 100644 index f23157c3..00000000 --- a/_cache_v0/eleventy-cache-assets-a92b8c24 +++ /dev/null @@ -1 +0,0 @@ -[{"a92b8c24":"1"},{"cachedAt":1595888540373,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-a92b8c24.buffer b/_cache_v0/eleventy-cache-assets-a92b8c24.buffer deleted file mode 100644 index d74db8b1..00000000 Binary files a/_cache_v0/eleventy-cache-assets-a92b8c24.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-ab1c931e b/_cache_v0/eleventy-cache-assets-ab1c931e deleted file mode 100644 index e4172b5f..00000000 --- a/_cache_v0/eleventy-cache-assets-ab1c931e +++ /dev/null @@ -1 +0,0 @@ -[{"ab1c931e":"1"},{"cachedAt":1595888542070,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-ab1c931e.buffer b/_cache_v0/eleventy-cache-assets-ab1c931e.buffer deleted file mode 100644 index 4a9cb323..00000000 Binary files a/_cache_v0/eleventy-cache-assets-ab1c931e.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-af9aecfe b/_cache_v0/eleventy-cache-assets-af9aecfe deleted file mode 100644 index 23085904..00000000 --- a/_cache_v0/eleventy-cache-assets-af9aecfe +++ /dev/null @@ -1 +0,0 @@ -[{"af9aecfe":"1"},{"cachedAt":1595888533337,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-af9aecfe.buffer b/_cache_v0/eleventy-cache-assets-af9aecfe.buffer deleted file mode 100644 index 04712bb4..00000000 Binary files a/_cache_v0/eleventy-cache-assets-af9aecfe.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-afba1a0e b/_cache_v0/eleventy-cache-assets-afba1a0e deleted file mode 100644 index 984146fe..00000000 --- a/_cache_v0/eleventy-cache-assets-afba1a0e +++ /dev/null @@ -1 +0,0 @@ -[{"afba1a0e":"1"},{"cachedAt":1595888537977,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-afba1a0e.buffer b/_cache_v0/eleventy-cache-assets-afba1a0e.buffer deleted file mode 100644 index 92d1febb..00000000 Binary files a/_cache_v0/eleventy-cache-assets-afba1a0e.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-b469d37f b/_cache_v0/eleventy-cache-assets-b469d37f deleted file mode 100644 index fc6119ee..00000000 --- a/_cache_v0/eleventy-cache-assets-b469d37f +++ /dev/null @@ -1 +0,0 @@ -[{"b469d37f":"1"},{"cachedAt":1595888530956,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-b469d37f.buffer b/_cache_v0/eleventy-cache-assets-b469d37f.buffer deleted file mode 100644 index 4e01e7f4..00000000 Binary files a/_cache_v0/eleventy-cache-assets-b469d37f.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-b63c11b1 b/_cache_v0/eleventy-cache-assets-b63c11b1 deleted file mode 100644 index 6f61f9df..00000000 --- a/_cache_v0/eleventy-cache-assets-b63c11b1 +++ /dev/null @@ -1 +0,0 @@ -[{"b63c11b1":"1"},{"cachedAt":1595888516237,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-b63c11b1.buffer b/_cache_v0/eleventy-cache-assets-b63c11b1.buffer deleted file mode 100644 index 130edb53..00000000 Binary files a/_cache_v0/eleventy-cache-assets-b63c11b1.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-b6ebf8f0 b/_cache_v0/eleventy-cache-assets-b6ebf8f0 deleted file mode 100644 index b369bffe..00000000 --- a/_cache_v0/eleventy-cache-assets-b6ebf8f0 +++ /dev/null @@ -1 +0,0 @@ -[{"b6ebf8f0":"1"},{"cachedAt":1595888540055,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-b6ebf8f0.buffer b/_cache_v0/eleventy-cache-assets-b6ebf8f0.buffer deleted file mode 100644 index 775ad128..00000000 Binary files a/_cache_v0/eleventy-cache-assets-b6ebf8f0.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-ba3d9239 b/_cache_v0/eleventy-cache-assets-ba3d9239 deleted file mode 100644 index ddc3cdd7..00000000 --- a/_cache_v0/eleventy-cache-assets-ba3d9239 +++ /dev/null @@ -1 +0,0 @@ -[{"ba3d9239":"1"},{"cachedAt":1595888517701,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-ba3d9239.buffer b/_cache_v0/eleventy-cache-assets-ba3d9239.buffer deleted file mode 100644 index 33aae787..00000000 Binary files a/_cache_v0/eleventy-cache-assets-ba3d9239.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-bc0ded41 b/_cache_v0/eleventy-cache-assets-bc0ded41 deleted file mode 100644 index ececa9ab..00000000 --- a/_cache_v0/eleventy-cache-assets-bc0ded41 +++ /dev/null @@ -1 +0,0 @@ -[{"bc0ded41":"1"},{"cachedAt":1595888548768,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-bc0ded41.buffer b/_cache_v0/eleventy-cache-assets-bc0ded41.buffer deleted file mode 100644 index 09cd4763..00000000 Binary files a/_cache_v0/eleventy-cache-assets-bc0ded41.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-c093913d b/_cache_v0/eleventy-cache-assets-c093913d deleted file mode 100644 index 77d8cc85..00000000 --- a/_cache_v0/eleventy-cache-assets-c093913d +++ /dev/null @@ -1 +0,0 @@ -[{"c093913d":"1"},{"cachedAt":1595888532571,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-c093913d.buffer b/_cache_v0/eleventy-cache-assets-c093913d.buffer deleted file mode 100644 index 2343725d..00000000 Binary files a/_cache_v0/eleventy-cache-assets-c093913d.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-c4291b1b b/_cache_v0/eleventy-cache-assets-c4291b1b deleted file mode 100644 index 031c71f0..00000000 --- a/_cache_v0/eleventy-cache-assets-c4291b1b +++ /dev/null @@ -1 +0,0 @@ -[{"c4291b1b":"1"},{"cachedAt":1595888516556,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-c4291b1b.buffer b/_cache_v0/eleventy-cache-assets-c4291b1b.buffer deleted file mode 100644 index 2c88113c..00000000 Binary files a/_cache_v0/eleventy-cache-assets-c4291b1b.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-c597c3b5 b/_cache_v0/eleventy-cache-assets-c597c3b5 deleted file mode 100644 index 8111e21b..00000000 --- a/_cache_v0/eleventy-cache-assets-c597c3b5 +++ /dev/null @@ -1 +0,0 @@ -[{"c597c3b5":"1"},{"cachedAt":1595888518342,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-c597c3b5.buffer b/_cache_v0/eleventy-cache-assets-c597c3b5.buffer deleted file mode 100644 index 7a5af291..00000000 Binary files a/_cache_v0/eleventy-cache-assets-c597c3b5.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-c6dd7317 b/_cache_v0/eleventy-cache-assets-c6dd7317 deleted file mode 100644 index d9571be7..00000000 --- a/_cache_v0/eleventy-cache-assets-c6dd7317 +++ /dev/null @@ -1 +0,0 @@ -[{"c6dd7317":"1"},{"cachedAt":1595888539785,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-c6dd7317.buffer b/_cache_v0/eleventy-cache-assets-c6dd7317.buffer deleted file mode 100644 index ad49c1aa..00000000 Binary files a/_cache_v0/eleventy-cache-assets-c6dd7317.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-cebe5f53 b/_cache_v0/eleventy-cache-assets-cebe5f53 deleted file mode 100644 index 7aedd7b7..00000000 --- a/_cache_v0/eleventy-cache-assets-cebe5f53 +++ /dev/null @@ -1 +0,0 @@ -[{"cebe5f53":"1"},{"cachedAt":1595888539040,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-cebe5f53.buffer b/_cache_v0/eleventy-cache-assets-cebe5f53.buffer deleted file mode 100644 index dedaf4cd..00000000 Binary files a/_cache_v0/eleventy-cache-assets-cebe5f53.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-d1e56fba b/_cache_v0/eleventy-cache-assets-d1e56fba deleted file mode 100644 index cdb634b2..00000000 --- a/_cache_v0/eleventy-cache-assets-d1e56fba +++ /dev/null @@ -1 +0,0 @@ -[{"d1e56fba":"1"},{"cachedAt":1595888537394,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-d1e56fba.buffer b/_cache_v0/eleventy-cache-assets-d1e56fba.buffer deleted file mode 100644 index 9c2ba5f1..00000000 Binary files a/_cache_v0/eleventy-cache-assets-d1e56fba.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-d50c88d4 b/_cache_v0/eleventy-cache-assets-d50c88d4 deleted file mode 100644 index 4074a0fb..00000000 --- a/_cache_v0/eleventy-cache-assets-d50c88d4 +++ /dev/null @@ -1 +0,0 @@ -[{"d50c88d4":"1"},{"cachedAt":1595888545681,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-d50c88d4.buffer b/_cache_v0/eleventy-cache-assets-d50c88d4.buffer deleted file mode 100644 index 3adcfd51..00000000 Binary files a/_cache_v0/eleventy-cache-assets-d50c88d4.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-d717fed9 b/_cache_v0/eleventy-cache-assets-d717fed9 deleted file mode 100644 index 00c4af41..00000000 --- a/_cache_v0/eleventy-cache-assets-d717fed9 +++ /dev/null @@ -1 +0,0 @@ -[{"d717fed9":"1"},{"cachedAt":1595888548881,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-d717fed9.buffer b/_cache_v0/eleventy-cache-assets-d717fed9.buffer deleted file mode 100644 index 1bbad252..00000000 Binary files a/_cache_v0/eleventy-cache-assets-d717fed9.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-d96f71d b/_cache_v0/eleventy-cache-assets-d96f71d deleted file mode 100644 index 42d0f357..00000000 --- a/_cache_v0/eleventy-cache-assets-d96f71d +++ /dev/null @@ -1 +0,0 @@ -[{"d96f71d":"1"},{"cachedAt":1595888540705,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-d96f71d.buffer b/_cache_v0/eleventy-cache-assets-d96f71d.buffer deleted file mode 100644 index 91cbfbb4..00000000 Binary files a/_cache_v0/eleventy-cache-assets-d96f71d.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-e1b08463 b/_cache_v0/eleventy-cache-assets-e1b08463 deleted file mode 100644 index 31498bc8..00000000 --- a/_cache_v0/eleventy-cache-assets-e1b08463 +++ /dev/null @@ -1 +0,0 @@ -[{"e1b08463":"1"},{"cachedAt":1595888514779,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-e1b08463.buffer b/_cache_v0/eleventy-cache-assets-e1b08463.buffer deleted file mode 100644 index b024cc74..00000000 Binary files a/_cache_v0/eleventy-cache-assets-e1b08463.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-e2c17cae b/_cache_v0/eleventy-cache-assets-e2c17cae deleted file mode 100644 index 8f72f307..00000000 --- a/_cache_v0/eleventy-cache-assets-e2c17cae +++ /dev/null @@ -1 +0,0 @@ -[{"e2c17cae":"1"},{"cachedAt":1595888514182,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-e2c17cae.buffer b/_cache_v0/eleventy-cache-assets-e2c17cae.buffer deleted file mode 100644 index c91d295e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-e2c17cae.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-e4455e7e b/_cache_v0/eleventy-cache-assets-e4455e7e deleted file mode 100644 index c179c2e5..00000000 --- a/_cache_v0/eleventy-cache-assets-e4455e7e +++ /dev/null @@ -1 +0,0 @@ -[{"e4455e7e":"1"},{"cachedAt":1595888517924,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-e4455e7e.buffer b/_cache_v0/eleventy-cache-assets-e4455e7e.buffer deleted file mode 100644 index 1b1bec23..00000000 Binary files a/_cache_v0/eleventy-cache-assets-e4455e7e.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-e4c4f3b6 b/_cache_v0/eleventy-cache-assets-e4c4f3b6 deleted file mode 100644 index 8e9a2d9e..00000000 --- a/_cache_v0/eleventy-cache-assets-e4c4f3b6 +++ /dev/null @@ -1 +0,0 @@ -[{"e4c4f3b6":"1"},{"cachedAt":1595888519986,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-e4c4f3b6.buffer b/_cache_v0/eleventy-cache-assets-e4c4f3b6.buffer deleted file mode 100644 index 68ea0e1e..00000000 Binary files a/_cache_v0/eleventy-cache-assets-e4c4f3b6.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-e6483411 b/_cache_v0/eleventy-cache-assets-e6483411 deleted file mode 100644 index bf16bfb9..00000000 --- a/_cache_v0/eleventy-cache-assets-e6483411 +++ /dev/null @@ -1 +0,0 @@ -[{"e6483411":"1"},{"cachedAt":1595888521205,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-e6483411.buffer b/_cache_v0/eleventy-cache-assets-e6483411.buffer deleted file mode 100644 index e1728325..00000000 Binary files a/_cache_v0/eleventy-cache-assets-e6483411.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-eaac8947 b/_cache_v0/eleventy-cache-assets-eaac8947 deleted file mode 100644 index 2c4ea535..00000000 --- a/_cache_v0/eleventy-cache-assets-eaac8947 +++ /dev/null @@ -1 +0,0 @@ -[{"eaac8947":"1"},{"cachedAt":1595888527990,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-eaac8947.buffer b/_cache_v0/eleventy-cache-assets-eaac8947.buffer deleted file mode 100644 index a73038e2..00000000 Binary files a/_cache_v0/eleventy-cache-assets-eaac8947.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-ec30b4d9 b/_cache_v0/eleventy-cache-assets-ec30b4d9 deleted file mode 100644 index ec3a226e..00000000 --- a/_cache_v0/eleventy-cache-assets-ec30b4d9 +++ /dev/null @@ -1 +0,0 @@ -[{"ec30b4d9":"1"},{"cachedAt":1595888538737,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-ec30b4d9.buffer b/_cache_v0/eleventy-cache-assets-ec30b4d9.buffer deleted file mode 100644 index cbf996ac..00000000 Binary files a/_cache_v0/eleventy-cache-assets-ec30b4d9.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-eed003ac b/_cache_v0/eleventy-cache-assets-eed003ac deleted file mode 100644 index 1a539033..00000000 --- a/_cache_v0/eleventy-cache-assets-eed003ac +++ /dev/null @@ -1 +0,0 @@ -[{"eed003ac":"1"},{"cachedAt":1595888538268,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-eed003ac.buffer b/_cache_v0/eleventy-cache-assets-eed003ac.buffer deleted file mode 100644 index f9ef4ebb..00000000 Binary files a/_cache_v0/eleventy-cache-assets-eed003ac.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-fe10f85 b/_cache_v0/eleventy-cache-assets-fe10f85 deleted file mode 100644 index 03a63641..00000000 --- a/_cache_v0/eleventy-cache-assets-fe10f85 +++ /dev/null @@ -1 +0,0 @@ -[{"fe10f85":"1"},{"cachedAt":1595888542993,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-fe10f85.buffer b/_cache_v0/eleventy-cache-assets-fe10f85.buffer deleted file mode 100644 index 1f94d24c..00000000 Binary files a/_cache_v0/eleventy-cache-assets-fe10f85.buffer and /dev/null differ diff --git a/_cache_v0/eleventy-cache-assets-fe61a3d9 b/_cache_v0/eleventy-cache-assets-fe61a3d9 deleted file mode 100644 index c15bb583..00000000 --- a/_cache_v0/eleventy-cache-assets-fe61a3d9 +++ /dev/null @@ -1 +0,0 @@ -[{"fe61a3d9":"1"},{"cachedAt":1595888533755,"type":"2"},"buffer"] \ No newline at end of file diff --git a/_cache_v0/eleventy-cache-assets-fe61a3d9.buffer b/_cache_v0/eleventy-cache-assets-fe61a3d9.buffer deleted file mode 100644 index 4413998b..00000000 Binary files a/_cache_v0/eleventy-cache-assets-fe61a3d9.buffer and /dev/null differ diff --git a/_data/app.js b/_data/app.js deleted file mode 100644 index 989b659f..00000000 --- a/_data/app.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - environment: process.env.ELEVENTY_ENV, - now: new Date(), -}; diff --git a/_data/organizations.json b/_data/organizations.json deleted file mode 100644 index 14a81913..00000000 --- a/_data/organizations.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "cloudflare": { - "name": "Cloudflare Austin", - "url": "https://www.cloudflare.com/", - "careerUrl": "https://www.cloudflare.com/careers/", - "logo": "https://blog.cloudflare.com/content/images/2016/09/cf-blog-logo-crop.png", - "location": "405 Comal St. Austin, TX 78702", - "note": null - }, - "draughthouse": { - "name": "The Draught House", - "url": "https://www.draughthouse.com/", - "careerUrl": null, - "location": "4112 Medical Pkwy, Austin, TX 78756", - "note": null - }, - "frog": { - "name": "Frog Design", - "url": "https://www.frogdesign.com/studio/austin", - "careerUrl": "https://www.frogdesign.com/careers", - "location": "101 West 6th Street, Austin, TX 78701, 2nd Floor", - "note": null - }, - "erelevance": { - "name": "eRelevance", - "url": "http://www.erelevancecorp.com/", - "careerUrl": "http://www.erelevancecorp.com/careers/", - "location": null, - "note": null - }, - "gingerman": { - "name": "The Gingerman Austin", - "url": "http://thegingerman.com/austin/", - "careerUrl": null, - "location": "301 Lavaca Street, Austin, TX 78701", - "note": null - }, - "heb": { - "name": "H-E-B Digital", - "url": "https://digital.heb.com/", - "careerUrl": "https://digital.heb.com/join-us/", - "location": "2416 East Sixth Street, Austin, TX 78702", - "note": null - }, - "indeed": { - "name": "Indeed", - "url": "https://www.indeed.com", - "careerUrl": "https://www.indeed.jobs/", - "location": "201 West 5th St, Austin, TX 78701, 18th Floor", - "note": null - }, - "khoros": { - "name": "Khoros", - "url": "https://khoros.com/", - "careerUrl": "https://khoros.com/about/careers", - "location": "200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor", - "note": "(Located in the Silicon Labs building on Colorado Street.)" - }, - "lavaca": { - "name": "Lavaca Street Bar", - "url": "https://lavacastreet.com/", - "careerUrl": null, - "location": "405 Lavaca Street, Austin, TX 78701", - "note": null - }, - "lazarus": { - "name": "Lazarus Brewing Co.", - "url": "https://www.lazarusbrewing.com/", - "careerUrl": null, - "location": "1902 E 6th St, Austin, TX 78702", - "note": null - }, - "magento": { - "name": "Magento", - "url": "https://www.magento.com/", - "careerUrl": "https://adobe.wd5.myworkdayjobs.com/external_experienced", - "location": null, - "note": null - }, - "massrelevance": { - "name": "Mass Relevance", - "url": null, - "careerUrl": null, - "location": "8th and Brazos, Austin, TX 78701", - "note": null - }, - "mozilla": { - "name": "Mozilla", - "url": "https://www.mozilla.com/", - "careerUrl": null, - "location": null, - "note": "Download Firefox and celebrate the open Web!" - }, - "paypal": { - "name": "PayPal", - "url": "https://www.paypal.com/", - "careerUrl": "https://www.paypal.com/us/webapps/mpp/jobs", - "location": "7700 W. Parmer Lane, Austin, TX 78729", - "note": null - }, - "retailmenot": { - "name": "RetailMeNot", - "url": "https://www.retailmenot.com/", - "careerUrl": null, - "logo": "https://i.imgur.com/GAULdrg.png", - "location": "301 Congress Ave., Suite 700, Austin, TX 78701", - "note": null - }, - "spredfast": { - "name": "Spredfast", - "url": null, - "careerUrl": null, - "logo": "https://2015.texasjavascript.com/pixels/sponsors/spredfast-logo-2.svg", - "location": "200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor", - "note": "(Located in the Silicon Labs building on Colorado Street.)" - }, - "techspace": { - "name": "TechSpace Austin", - "url": "https://www.techspace.com/coworking-space-austin/central-business-district/", - "careerUrl": null, - "location": "98 San Jacinto Boulevard, Austin, TX 78701", - "note": null - }, - "virtuegroup": { - "name": "Virtue Group", - "url": "http://www.virtuegroup.net/", - "careerUrl": null, - "location": "1206 W 43rd Street, Austin, TX 78756", - "note": null - }, - "zilker-brewing": { - "name": "Zilker Brewing Company and Taproom", - "url": "https://zilkerbeer.com/", - "careerUrl": null, - "location": "1701 E 6th St, Austin, TX 78702", - "note": null - } -} diff --git a/_data/people.json b/_data/people.json deleted file mode 100644 index 3439d93b..00000000 --- a/_data/people.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "jmccann": { - "name": "Joe McCann", - "avatar": "https://pbs.twimg.com/profile_images/846386052910637056/tWGT0XAz_400x400.jpg", - "email": null, - "homepage": null, - "twitter": "joemccann", - "github": "joemccann", - "linkedin": null, - "status": "emeriti" - }, - "asexton": { - "name": "Alex Sexton", - "avatar": "https://pbs.twimg.com/profile_images/1034325028026769408/hz_G2I3L_400x400.jpg", - "email": null, - "homepage": null, - "twitter": "slexaxton", - "github": "slexaxton", - "linkedin": null, - "status": "emeriti" - }, - "rmurphey": { - "name": "Rebecca Murphey", - "avatar": "https://pbs.twimg.com/profile_images/1259973234398769154/uNcYGdTr_400x400.jpg", - "email-archived": "rmurphey@gmail.com", - "homepage": null, - "twitter": "rmurphey", - "github": "rmurphey", - "linkedin": null, - "status": "emeriti" - }, - "lingram": { - "name": "Lon Ingram", - "avatar": "https://pbs.twimg.com/profile_images/970161690233864192/rztEhZFR_400x400.jpg", - "email-archived": "lawnsea@gmail.com", - "homepage": null, - "twitter": "lawnsea", - "github": "lawnsea", - "linkedin": null, - "status": "emeriti" - }, - "astacy": { - "name": "Aaron Stacy", - "avatar": "https://pbs.twimg.com/profile_images/3281266042/5069b845017701c465760d25ba54b83c_400x400.jpeg", - "email": null, - "homepage": null, - "twitter": "aaronj1335", - "github": "aaronj1335", - "linkedin": null, - "status": "emeriti" - }, - "alevine": { - "name": "Andrew Levine", - "avatar": "https://pbs.twimg.com/profile_images/950842904771284992/pZwj7Nim_400x400.jpg", - "email": null, - "homepage": null, - "twitter": "drewml", - "github": "drewml", - "linkedin": null, - "status": "emeriti" - }, - "kkipp": { - "name": "Kevin Kipp", - "avatar": "https://pbs.twimg.com/profile_images/931552869915926528/sBpw-pNh_400x400.jpg", - "email": "kevin.kipp@gmail.com", - "homepage": null, - "twitter": "kevin_kipp", - "github": "third774", - "linkedin": null, - "status": "active" - }, - "pcostanzo": { - "name": "Patrick Costanzo", - "avatar": "https://pbs.twimg.com/profile_images/1230181384641183747/SKvgTCZL_400x400.jpg", - "email": "costanzo.patrick@gmail.com", - "homepage": null, - "twitter": "pcostanz", - "github": "pcostanz", - "linkedin": null, - "status": "emeriti" - }, - "sstedman": { - "name": "Steve Stedman", - "avatar": "https://avatars3.githubusercontent.com/u/183122?s=460&v=4", - "email": "steve@stedman.dev", - "homepage": null, - "twitter": "stedman", - "github": "stedman", - "linkedin": "sstedman", - "status": "support" - }, - "fguest": { - "name": "Fred Guest", - "avatar": "https://secure.meetupstatic.com/photos/member/d/6/2/9/highres_307794825.jpeg", - "email": "fredguest@mac.com", - "homepage": null, - "twitter": null, - "github": null, - "linkedin": null, - "status": "emeriti" - }, - "joahg": { - "name": "Joah Gerstenberg", - "avatar": "https://pbs.twimg.com/profile_images/1686379255511605248/3EShXjxq_400x400.jpg", - "email": "me@joahg.com", - "homepage": "https://joahg.com", - "twitter": null, - "github": "joahg", - "linkedin": "joahg", - "status": "active" - }, - "srozier": { - "name": "Suzanne Rozier", - "avatar": "https://avatars.githubusercontent.com/u/2723066?v=4", - "email": null, - "homepage": null, - "twitter": null, - "github": "suzubara", - "linkedin": null, - "status": "active" - }, - "cking": { - "name": "Collier King", - "avatar": "https://avatars.githubusercontent.com/u/10591022?v=4", - "email": null, - "homepage": null, - "twitter": null, - "github": "collierking", - "linkedin": null, - "status": "active" - }, - "dbriar": { - "name": "Dylan Briar", - "avatar": "https://avatars.githubusercontent.com/u/142957940?v=4", - "email": "dylan.e.briar@gmail.com", - "homepage": "https://www.dylanbriar.com", - "twitter": "https://twitter.com/DylanBriar", - "github": "dylanbriar", - "linkedin": "dylanbriar", - "status": "active" - } -} diff --git a/_data/redirects.json b/_data/redirects.json deleted file mode 100644 index ec87177d..00000000 --- a/_data/redirects.json +++ /dev/null @@ -1,862 +0,0 @@ -[ - { - "file": { - "old": "/archive/index.md", - "new": "/posts/meetups.html" - }, - "permalink": { - "old": "/archive/", - "new": "/posts/meetups/" - } - }, - { - "file": { - "old": "/austinjs-code-of-conduct/index.md", - "new": "/code-of-conduct.html" - }, - "permalink": { - "old": "/austinjs-code-of-conduct/", - "new": "/code-of-conduct/" - } - }, - { - "file": { - "old": "/_posts/2010-02-15-february-meetup-announced.md", - "new": "/_meetups/2010-02-16-meetup.md" - }, - "permalink": { - "old": "/february-meetup-announced/", - "new": "/posts/meetups/2010/02/16/" - } - }, - { - "file": { - "old": "/_posts/2010-02-28-austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes.md", - "new": "/_posts/2010-02-28-austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes.md" - }, - "permalink": { - "old": "/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/", - "new": "/posts/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/" - } - }, - { - "file": { - "old": "/_posts/2010-03-22-april-meetup-announced-building-desktop-applications-using-adobe-air-and-javascript.md", - "new": "/_meetups/2010-04-20-meetup.md" - }, - "permalink": { - "old": "/april-meetup-announced-building-desktop-applications-using-adobe-air-and-javascript/", - "new": "/posts/meetups/2010/04/20/" - } - }, - { - "file": { - "old": "/_posts/2010-06-08-june-meetup-details-xui-and-cross-domain-hacking.md", - "new": "/_meetups/2010-06-15-meetup.md" - }, - "permalink": { - "old": "/june-meetup-details-xui-and-cross-domain-hacking/", - "new": "/posts/meetups/2010/06/15/" - } - }, - { - "file": { - "old": "/_posts/2010-07-12-july-meetup-details-announced.md", - "new": "/_meetups/2010-07-20-meetup.md" - }, - "permalink": { - "old": "/july-meetup-details-announced/", - "new": "/posts/meetups/2010/07/20/" - } - }, - { - "file": { - "old": "/_posts/2010-07-12-new-location-for-the-austin-javascript-meetup.md", - "new": "/_posts/2010-07-12-new-location-for-the-austin-javascript-meetup.md" - }, - "permalink": { - "old": "/new-location-for-the-austin-javascript-meetup/", - "new": "/posts/new-location-for-the-austin-javascript-meetup/" - } - }, - { - "file": { - "old": "/_posts/2010-08-02-august-meetup-details-announced.md", - "new": "/_meetups/2010-08-17-meetup.md" - }, - "permalink": { - "old": "/august-meetup-details-announced/", - "new": "/posts/meetups/2010/08/17/" - } - }, - { - "file": { - "old": "/_posts/2010-08-24-austin-javascript-email-list.md", - "new": "/_posts/2010-08-24-austin-javascript-email-list.md" - }, - "permalink": { - "old": "/austin-javascript-email-list/", - "new": "/posts/austin-javascript-email-list/" - } - }, - { - "file": { - "old": "/_posts/2010-09-07-september-meetup-details-announced.md", - "new": "/_meetups/2010-09-21-meetup.md" - }, - "permalink": { - "old": "/september-meetup-details-announced/", - "new": "/posts/meetups/2010/09/21/" - } - }, - { - "file": { - "old": "/_posts/2010-09-29-october-meetup-details-announced.md", - "new": "/_meetups/2010-10-19-meetup.md" - }, - "permalink": { - "old": "/october-meetup-details-announced/", - "new": "/posts/meetups/2010/10/19/" - } - }, - { - "file": { - "old": "/_posts/2010-11-01-november-meetup-details-announced.md", - "new": "/_meetups/2010-11-16-meetup.md" - }, - "permalink": { - "old": "/november-meetup-details-announced/", - "new": "/posts/meetups/2010/11/16/" - } - }, - { - "file": { - "old": "/_posts/2010-11-30-december-open-bar-happy-hour-sponsored-by-teksystems.md", - "new": "/_posts/2010-11-30-december-open-bar-happy-hour-sponsored-by-teksystems.md" - }, - "permalink": { - "old": "/december-open-bar-happy-hour-sponsored-by-teksystems/", - "new": "/posts/december-open-bar-happy-hour-sponsored-by-teksystems/" - } - }, - { - "file": { - "old": "/_posts/2010-12-13-austin-web-community-holiday-bash.md", - "new": "/_posts/2010-12-13-austin-web-community-holiday-bash.md" - }, - "permalink": { - "old": "/austin-web-community-holiday-bash/", - "new": "/posts/austin-web-community-holiday-bash/" - } - }, - { - "file": { - "old": "/_posts/2011-01-10-january-meetup-details-announced.md", - "new": "/_meetups/2011-01-18-meetup.md" - }, - "permalink": { - "old": "/january-meetup-details-announced/", - "new": "/posts/meetups/2011/01/18/" - } - }, - { - "file": { - "old": "/_posts/2011-02-08-february-meetup-details-announced.md", - "new": "/_meetups/2011-02-15-meetup.md" - }, - "permalink": { - "old": "/february-meetup-details-announced/", - "new": "/posts/meetups/2011/02/15/" - } - }, - { - "file": { - "old": "/_posts/2011-02-22-austin-javascript-2011-sxsw-party.md", - "new": "/_posts/2011-02-22-austin-javascript-2011-sxsw-party.md" - }, - "permalink": { - "old": "/austin-javascript-2011-sxsw-party/", - "new": "/posts/austin-javascript-2011-sxsw-party/" - } - }, - { - "file": { - "old": "/_posts/2011-03-01-2011-austin-javascript-sxsw-party-poster.md", - "new": "/_posts/2011-03-01-2011-austin-javascript-sxsw-party-poster.md" - }, - "permalink": { - "old": "/2011-austin-javascript-sxsw-party-poster/", - "new": "/posts/2011-austin-javascript-sxsw-party-poster/" - } - }, - { - "file": { - "old": "/_posts/2011-03-04-austin-js-sxsw-party-and-devunplugged.md", - "new": "/_posts/2011-03-04-austin-js-sxsw-party-and-devunplugged.md" - }, - "permalink": { - "old": "/austin-js-sxsw-party-and-devunplugged/", - "new": "/posts/austin-js-sxsw-party-and-devunplugged/" - } - }, - { - "file": { - "old": "/_posts/2011-04-04-2011-austin-javascript-sxsw-party-wrapup.md", - "new": "/_posts/2011-04-04-2011-austin-javascript-sxsw-party-wrapup.md" - }, - "permalink": { - "old": "/2011-austin-javascript-sxsw-party-wrapup/", - "new": "/posts/2011-austin-javascript-sxsw-party-wrapup/" - } - }, - { - "file": { - "old": "/_posts/2011-04-05-april-meetup-details-announced.md", - "new": "/_meetups/2011-04-19-meetup.md" - }, - "permalink": { - "old": "/april-meetup-details-announced/", - "new": "/posts/meetups/2011/04/19/" - } - }, - { - "file": { - "old": "/_posts/2011-04-19-special-guest-added-for-april-meetup.md", - "new": "/_posts/2011-04-19-special-guest-added-for-april-meetup.md" - }, - "permalink": { - "old": "/special-guest-added-for-april-meetup/", - "new": "/posts/special-guest-added-for-april-meetup/" - } - }, - { - "file": { - "old": "/_posts/2011-05-12-may-meetup-details-announced.md", - "new": "/_meetups/2011-05-17-meetup.md" - }, - "permalink": { - "old": "/may-meetup-details-announced/", - "new": "/posts/meetups/2011/05/17/" - } - }, - { - "file": { - "old": "/_posts/2011-06-15-june-meetup-details-announced.md", - "new": "/_meetups/2011-06-21-meetup.md" - }, - "permalink": { - "old": "/june-meetup-details-announced/", - "new": "/posts/meetups/2011/06/21/" - } - }, - { - "file": { - "old": "/_posts/2011-07-13-july-meetup-details-announced-finally.md", - "new": "/_meetups/2011-07-19-meetup.md" - }, - "permalink": { - "old": "/july-meetup-details-announced-finally/", - "new": "/posts/meetups/2011/07/19/" - } - }, - { - "file": { - "old": "/_posts/2011-08-08-august-meetup-details.md", - "new": "/_meetups/2011-08-16-meetup.md" - }, - "permalink": { - "old": "/august-meetup-details/", - "new": "/posts/meetups/2011/08/16/" - } - }, - { - "file": { - "old": "/_posts/2011-08-16-compasslearning-is-hiring.md", - "new": "/_posts/2011-08-16-compasslearning-is-hiring.md" - }, - "permalink": { - "old": "/compasslearning-is-hiring/", - "new": "/posts/compasslearning-is-hiring/" - } - }, - { - "file": { - "old": "/_posts/2011-09-09-september-meetup-details-announced-2011.md", - "new": "/_meetups/2011-09-20-meetup.md" - }, - "permalink": { - "old": "/september-meetup-details-announced-2011/", - "new": "/posts/meetups/2011/09/20/" - } - }, - { - "file": { - "old": "/_posts/2011-10-16-no-october-meetup.md", - "new": "/_posts/2011-10-16-no-october-meetup.md" - }, - "permalink": { - "old": "/no-october-meetup/", - "new": "/posts/no-october-meetup/" - } - }, - { - "file": { - "old": "/_posts/2011-11-09-november-details-announced.md", - "new": "/_meetups/2011-11-15-meetup.md" - }, - "permalink": { - "old": "/november-details-announced/", - "new": "/posts/meetups/2011/11/15/" - } - }, - { - "file": { - "old": "/_posts/2011-12-06-austin-web-bash-2011.md", - "new": "/_posts/2011-12-06-austin-web-bash-2011.md" - }, - "permalink": { - "old": "/austin-web-bash-2011/", - "new": "/posts/austin-web-bash-2011/" - } - }, - { - "file": { - "old": "/_posts/2012-01-09-january-2012-meetup-details-announced.md", - "new": "/_meetups/2012-01-17-meetup.md" - }, - "permalink": { - "old": "/january-2012-meetup-details-announced/", - "new": "/posts/meetups/2012/01/17/" - } - }, - { - "file": { - "old": "/_posts/2012-02-07-february-2012-meetup-details-announced.md", - "new": "/_meetups/2012-02-21-meetup.md" - }, - "permalink": { - "old": "/february-2012-meetup-details-announced/", - "new": "/posts/meetups/2012/02/21/" - } - }, - { - "file": { - "old": "/_posts/2012-03-05-2012-austinjs-sxsw-3-year-anniversary-party.md", - "new": "/_posts/2012-03-05-2012-austinjs-sxsw-3-year-anniversary-party.md" - }, - "permalink": { - "old": "/2012-austinjs-sxsw-3-year-anniversary-party/", - "new": "/posts/2012-austinjs-sxsw-3-year-anniversary-party/" - } - }, - { - "file": { - "old": "/_posts/2012-03-25-2012-austinjs-sxsw-party-wrapup.md", - "new": "/_posts/2012-03-25-2012-austinjs-sxsw-party-wrapup.md" - }, - "permalink": { - "old": "/2012-austinjs-sxsw-party-wrapup/", - "new": "/posts/2012-austinjs-sxsw-party-wrapup/" - } - }, - { - "file": { - "old": "/_posts/2012-04-10-april-2012-meetup-details-announced.md", - "new": "/_meetups/2012-04-17-meetup.md" - }, - "permalink": { - "old": "/april-2012-meetup-details-announced/", - "new": "/posts/meetups/2012/04/17/" - } - }, - { - "file": { - "old": "/_posts/2012-04-30-may-2012-meetup-details-announced.md", - "new": "/_meetups/2012-05-15-meetup.md" - }, - "permalink": { - "old": "/may-2012-meetup-details-announced/", - "new": "/posts/meetups/2012/05/15/" - } - }, - { - "file": { - "old": "/_posts/2012-06-10-june-2012-meetup-details-announced.md", - "new": "/_meetups/2012-06-19-meetup.md" - }, - "permalink": { - "old": "/june-2012-meetup-details-announced/", - "new": "/posts/meetups/2012/06/19/" - } - }, - { - "file": { - "old": "/_posts/2012-06-21-july-2012-austin-javascript-meetup-details-announced.md", - "new": "/_meetups/2012-07-17-meetup.md" - }, - "permalink": { - "old": "/july-2012-austin-javascript-meetup-details-announced/", - "new": "/posts/meetups/2012/07/17/" - } - }, - { - "file": { - "old": "/_posts/2012-07-20-august-2012-austin-javascript-meetup-details-announced.md", - "new": "/_meetups/2012-08-21-meetup.md" - }, - "permalink": { - "old": "/august-2012-austin-javascript-meetup-details-announced/", - "new": "/posts/meetups/2012/08/21/" - } - }, - { - "file": { - "old": "/_posts/2012-08-27-september-2012-austin-js-meetup-details-announced.md", - "new": "/_meetups/2012-09-18-meetup.md" - }, - "permalink": { - "old": "/september-2012-austin-js-meetup-details-announced/", - "new": "/posts/meetups/2012/09/18/" - } - }, - { - "file": { - "old": "/_posts/2012-09-27-october-2012-austin-javascript-meetup-details-announced.md", - "new": "/_meetups/2012-10-16-meetup.md" - }, - "permalink": { - "old": "/october-2012-austin-javascript-meetup-details-announced/", - "new": "/posts/meetups/2012/10/16/" - } - }, - { - "file": { - "old": "/_posts/2012-11-07-austin-javascript-thanksgiving-js-2012.md", - "new": "/_meetups/2012-11-19-meetup.md" - }, - "permalink": { - "old": "/austin-javascript-thanksgiving-js-2012/", - "new": "/posts/meetups/2012/11/19/" - } - }, - { - "file": { - "old": "/_posts/2013-01-06-january2013.md", - "new": "/_meetups/2013-01-15-meetup.md" - }, - "permalink": { - "old": "/january2013/", - "new": "/posts/meetups/2013/01/15/" - } - }, - { - "file": { - "old": "/_posts/2013-02-12-february-2013-austin-javascript-details-announced.md", - "new": "/_meetups/2013-02-19-meetup.md" - }, - "permalink": { - "old": "/february-2013-austin-javascript-details-announced/", - "new": "/posts/meetups/2013/02/19/" - } - }, - { - "file": { - "old": "/_posts/2013-05-14-may-2013-austin-javascript-details-announced.md", - "new": "/_meetups/2013-05-21-meetup.md" - }, - "permalink": { - "old": "/may-2013-austin-javascript-details-announced/", - "new": "/posts/meetups/2013/05/21/" - } - }, - { - "file": { - "old": "/_posts/2013-06-14-june-2013.md", - "new": "/_meetups/2013-06-18-meetup.md" - }, - "permalink": { - "old": "/june-2013/", - "new": "/posts/meetups/2013/06/18/" - } - }, - { - "file": { - "old": "/_posts/2013-07-15-july-2013.md", - "new": "/_meetups/2013-07-16-meetup.md" - }, - "permalink": { - "old": "/july-2013/", - "new": "/posts/meetups/2013/07/16/" - } - }, - { - "file": { - "old": "/_posts/2013-10-01-october-2013.md", - "new": "/_meetups/2013-10-15-meetup.md" - }, - "permalink": { - "old": "/october-2013/", - "new": "/posts/meetups/2013/10/15/" - } - }, - { - "file": { - "old": "/_posts/2013-11-13-november-19th-meetup-730-pm-kassandra-perch-on-flight.md", - "new": "/_meetups/2013-11-19-meetup.md" - }, - "permalink": { - "old": "/november-19th-meetup-730-pm-kassandra-perch-on-flight/", - "new": "/posts/meetups/2013/11/19/" - } - }, - { - "file": { - "old": "/_posts/2014-01-15-january-21st-meetup-730-pm-paypal-on-node-js.md", - "new": "/_meetups/2014-01-21-meetup.md" - }, - "permalink": { - "old": "/january-21st-meetup-730-pm-paypal-on-node-js/", - "new": "/posts/meetups/2014/01/21/" - } - }, - { - "file": { - "old": "/_posts/2014-02-12-february-18th-meetup-730-pm-garann-means.md", - "new": "/_meetups/2014-02-18-meetup.md" - }, - "permalink": { - "old": "/february-18th-meetup-730-pm-garann-means/", - "new": "/posts/meetups/2014/02/18/" - } - }, - { - "file": { - "old": "/_posts/2014-02-18-tonights-meetup-location-changed.md", - "new": "/_posts/2014-02-18-tonights-meetup-location-changed.md" - }, - "permalink": { - "old": "/tonights-meetup-location-changed/", - "new": "/posts/tonights-meetup-location-changed/" - } - }, - { - "file": { - "old": "/_posts/2014-04-08-april-15th-meetup-730-pm-charles-lowell.md", - "new": "/_meetups/2014-04-15-meetup.md" - }, - "permalink": { - "old": "/april-15th-meetup-730-pm-charles-lowell/", - "new": "/posts/meetups/2014/04/15/" - } - }, - { - "file": { - "old": "/_posts/2014-05-13-may-20th-meetup-730-pm-steve-stedman-and-alex-sexton.md", - "new": "/_meetups/2014-05-20-meetup.md" - }, - "permalink": { - "old": "/may-20th-meetup-730-pm-steve-stedman-and-alex-sexton/", - "new": "/posts/meetups/2014/05/20/" - } - }, - { - "file": { - "old": "/_posts/2014-06-10-june-17th-meetup-730-pm-jared-stilwell.md", - "new": "/_meetups/2014-06-17-meetup.md" - }, - "permalink": { - "old": "/june-17th-meetup-730-pm-jared-stilwell/", - "new": "/posts/meetups/2014/06/17/" - } - }, - { - "file": { - "old": "/_posts/2014-07-09-july-15th-meetup-730-pm-lightning-talks.md", - "new": "/_meetups/2014-07-15-meetup.md" - }, - "permalink": { - "old": "/july-15th-meetup-730-pm-lightning-talks/", - "new": "/posts/meetups/2014/07/15/" - } - }, - { - "file": { - "old": "/_posts/2014-08-19-august-26th-meetup-730-pm-jonathan-lipps.md", - "new": "/_meetups/2014-08-26-meetup.md" - }, - "permalink": { - "old": "/august-26th-meetup-730-pm-jonathan-lipps/", - "new": "/posts/meetups/2014/08/26/" - } - }, - { - "file": { - "old": "/_posts/2014-09-09-september-16th-meetup.md", - "new": "/_meetups/2014-09-16-meetup.md" - }, - "permalink": { - "old": "/september-16th-meetup/", - "new": "/posts/meetups/2014/09/16/" - } - }, - { - "file": { - "old": "/_posts/2014-10-14-october-21st-meetup-730-pm-dan-defelippi.md", - "new": "/_meetups/2014-10-21-meetup.md" - }, - "permalink": { - "old": "/october-21st-meetup-730-pm-dan-defelippi/", - "new": "/posts/meetups/2014/10/21/" - } - }, - { - "file": { - "old": "/_posts/2014-12-03-austin-web-bash-2014.md", - "new": "/_posts/2014-12-03-austin-web-bash-2014.md" - }, - "permalink": { - "old": "/austin-web-bash-2014/", - "new": "/posts/austin-web-bash-2014/" - } - }, - { - "file": { - "old": "/_posts/2015-01-13-january-20th-meetup-730-pm-rebecca-murphey.md", - "new": "/_meetups/2015-01-21-meetup.md" - }, - "permalink": { - "old": "/january-20th-meetup-730-pm-rebecca-murphey/", - "new": "/posts/meetups/2015/01/21/" - } - }, - { - "file": { - "old": "/_posts/2015-04-17-april-21st-meetup-730-pm-tara-vancil.md", - "new": "/_meetups/2015-04-21-meetup.md" - }, - "permalink": { - "old": "/april-21st-meetup-730-pm-tara-vancil/", - "new": "/posts/meetups/2015/04/21/" - } - }, - { - "file": { - "old": "/_posts/2015-05-12-may-19th-meetup-730-pm-charles-lowell.md", - "new": "/_meetups/2015-05-19-meetup.md" - }, - "permalink": { - "old": "/may-19th-meetup-730-pm-charles-lowell/", - "new": "/posts/meetups/2015/05/19/" - } - }, - { - "file": { - "old": "/_posts/2016-02-09-meetup.md", - "new": "/_meetups/2016-02-16-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/02/09/", - "new": "/posts/meetups/2016/02/16/" - } - }, - { - "file": { - "old": "/_posts/2016-04-12-meedup.md", - "new": "/_meetups/2016-04-19-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/04/12/", - "new": "/posts/meetups/2016/04/19/" - } - }, - { - "file": { - "old": "/_posts/2016-05-10-meedup.md", - "new": "/_meetups/2016-05-17-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/05/10/", - "new": "/posts/meetups/2016/05/17/" - } - }, - { - "file": { - "old": "/_posts/2016-06-18-meetup.md", - "new": "/_meetups/2016-06-21-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/06/18/", - "new": "/posts/meetups/2016/06/21/" - } - }, - { - "file": { - "old": "/_posts/2016-07-13-meetup.md", - "new": "/_meetups/2016-07-19-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/07/13/", - "new": "/posts/meetups/2016/07/19/" - } - }, - { - "file": { - "old": "/_posts/2016-08-09-meetup.md", - "new": "/_meetups/2016-08-16-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/08/09/", - "new": "/posts/meetups/2016/08/16/" - } - }, - { - "file": { - "old": "/_posts/2016-09-15-meetup.md", - "new": "/_meetups/2016-09-20-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/09/15/", - "new": "/posts/meetups/2016/09/20/" - } - }, - { - "file": { - "old": "/_posts/2016-11-10-meetup.md", - "new": "/_meetups/2016-11-15-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2016/11/10/", - "new": "/posts/meetups/2016/11/15/" - } - }, - { - "file": { - "old": "/_posts/2017-01-09-meetup.md", - "new": "/_meetups/2017-01-17-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2017/01/09/", - "new": "/posts/meetups/2017/01/17/" - } - }, - { - "file": { - "old": "/_posts/2017-02-13-meetup.md", - "new": "/_meetups/2017-02-21-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2017/02/13/", - "new": "/posts/meetups/2017/02/21/" - } - }, - { - "file": { - "old": "/_posts/2017-03-13-meetup.md", - "new": "/_meetups/2017-03-21-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2017/03/13/", - "new": "/posts/meetups/2017/03/21/" - } - }, - { - "file": { - "old": "/_posts/2017-07-14-meedup.md", - "new": "/_meetups/2017-07-18-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2017/07/14/", - "new": "/posts/meetups/2017/07/18/" - } - }, - { - "file": { - "old": "/_posts/2017-11-13-meetup.md", - "new": "/_meetups/2017-11-21-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2017/11/13/", - "new": "/posts/meetups/2017/11/21/" - } - }, - { - "file": { - "old": "/_posts/2018-05-14-meetup.md", - "new": "/_meetups/2018-05-15-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2018/05/14/", - "new": "/posts/meetups/2018/05/15/" - } - }, - { - "file": { - "old": "/_posts/2018-07-16-meetup.md", - "new": "/_meetups/2018-07-17-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2018/07/16/", - "new": "/posts/meetups/2018/07/17/" - } - }, - { - "file": { - "old": "/_posts/2018-09-13-meetup.md", - "new": "/_meetups/2018-09-18-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2018/09/13/", - "new": "/posts/meetups/2018/09/18/" - } - }, - { - "file": { - "old": "/_posts/2019-05-20-meetup.md", - "new": "/_meetups/2019-05-21-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2019/05/20/", - "new": "/posts/meetups/2019/05/21/" - } - }, - { - "file": { - "old": "/_posts/2019-07-15-meetup.md", - "new": "/_meetups/2019-07-16-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2019/07/15/", - "new": "/posts/meetups/2019/07/16/" - } - }, - { - "file": { - "old": "/_posts/2019-10-14-meetup.md", - "new": "/_meetups/2019-10-15-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2019/10/14/", - "new": "/posts/meetups/2019/10/15/" - } - }, - { - "file": { - "old": "/_posts/2019-11-18-meetup.md", - "new": "/_meetups/2019-11-19-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2019/11/18/", - "new": "/posts/meetups/2019/11/19/" - } - }, - { - "file": { - "old": "/_posts/2020-02-16-meetup.md", - "new": "/_meetups/2020-02-18-meetup.md" - }, - "permalink": { - "old": "/posts/meetups/2020/02/16/", - "new": "/posts/meetups/2020/02/18/" - } - } -] diff --git a/_data/site.json b/_data/site.json deleted file mode 100644 index 62a79adb..00000000 --- a/_data/site.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "title": "Austin JavaScript", - "description": "A community-driven group that meets regularly in Austin, Texas, to discuss JavaScript and the open web.", - "url": "https://austinjavascript.com", - "feedUrl": "https://austinjavascript.com/feed.xml", - "author": { - "name": "@AustinJS", - "bluesky": "https://bsky.app/profile/austinjavascript.com", - "github": "austinjavascript", - "discord": "https://discord.gg/sZ9Nejm88J" - }, - "repo": "https://github.com/austinjavascript/austinjavascript.com" -} diff --git a/_drafts/YYYY-MM-DD-meetup.md b/_drafts/YYYY-MM-DD-meetup.md deleted file mode 100644 index 751d3fdf..00000000 --- a/_drafts/YYYY-MM-DD-meetup.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: meetup -title: -slides: -video: -speakers: - - name: - title: - avatar: - bio: - email: - homepage: - twitter: - github: - linkedin: -sponsor: - name: - url: -venue: -after: -organizers: - - ---- - -{REPLACE WITH MEETING AGENDA/CONTENT} diff --git a/_includes/business-card.liquid b/_includes/business-card.liquid deleted file mode 100644 index 17c7c52d..00000000 --- a/_includes/business-card.liquid +++ /dev/null @@ -1,31 +0,0 @@ -
-
-
-
- {%- if size == 'small' -%} -
- {%- else -%} -
- {%- endif -%} - {%- avatar person.avatar, person.name -%} -
-
-
-

{{ person.name }}

-
{{ person.title | markdown }}
-
- {%- include 'social-links.liquid' -%} -
-
-
-
- {%- if person.bio -%} - - {%- endif -%} -
diff --git a/_includes/filter.js b/_includes/filter.js deleted file mode 100644 index 8eda5d7b..00000000 --- a/_includes/filter.js +++ /dev/null @@ -1,65 +0,0 @@ -module.exports = { - /** - * Convert page.date directly to 'YYYY/MM/DD' slug. - * (Liquid's native `date` filter converts date to locale time and loses a day.) - * - * @param {object} pageDate Original page.date value. - * - * @returns {string} Slugified date. - */ - dateSlug: (pageDate) => pageDate.toISOString().slice(0, 10).replace(/-/g, '/'), - - /** - * Reverse array without mutating the original. - * (The 'reverse' filter in LiquidJS v6 mutates the original array.) - * - * @param {Array} collection Array to be reversed. - * - * @return {Array} Reversed array. - */ - flip: (collection) => { - if (!Array.isArray(collection)) return collection; - - return [...collection].reverse(); - }, - - /** - * Parse Markdown content to HTML. - * - * @param {string} content Incoming content (expecting Markdown). - * - * @return {string} Content rendered as HTML. - */ - markdown: (content) => { - const md = require('markdown-it')({ - html: true, - linkify: true, - typographer: true, - }); - - if (content) { - return md.render(content); - } - - return ''; - }, - - /** - * Allow regex in replace filter. Global flag set by default, - * - * @param {string} content Content to search/replace. - * @param {string} rePattern RegExp patter to use. - * @param {string} replacement Replacement text. - * @return {string} Replaced content. - * - */ - regexReplace: (content, rePattern, replacement) => { - if (replacement === undefined || rePattern === undefined) return content; - - const re = new RegExp(rePattern, 'g'); - - return content.replace(re, replacement); - }, - - UTCString: (date) => date.toUTCString(), -}; diff --git a/_includes/ga.html b/_includes/ga.html deleted file mode 100644 index 23452276..00000000 --- a/_includes/ga.html +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/_includes/nav-posts.liquid b/_includes/nav-posts.liquid deleted file mode 100644 index 45094e2f..00000000 --- a/_includes/nav-posts.liquid +++ /dev/null @@ -1,13 +0,0 @@ -
-
- {%- if previousPost -%} - {{ previousPost.data.title }} - {%- endif -%} -
- -
- {%- if nextPost -%} - {{ nextPost.data.title }} - {%- endif -%} -
-
diff --git a/_includes/sass-watch.js b/_includes/sass-watch.js deleted file mode 100644 index abe38684..00000000 --- a/_includes/sass-watch.js +++ /dev/null @@ -1,52 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -// eslint-disable-next-line import/no-extraneous-dependencies -const sass = require('sass'); - -/** - * Generate and save CSS. - * - * @param {string} _scssPath Path to SCSS src file. - * @param {string} _cssPath Path to CSS dist files. - */ -const generateCss = (_scssPath, _cssPath) => { - // Encapsulate rendered css from _scssPath into renderedCss variable - const renderedCss = sass.renderSync({ file: _scssPath }); - - // Then write result css string to _cssPath file - fs.writeFile(_cssPath, renderedCss.css.toString(), (writeErr) => { - if (writeErr) throw writeErr; - - // eslint-disable-next-line no-console - console.log(`CSS file saved: ${_cssPath}`); - }); -}; - -module.exports = (scssPath, cssPath) => { - // If cssPath directory doesn't exist... - if (!fs.existsSync(path.dirname(cssPath))) { - // eslint-disable-next-line no-console - console.log(`Creating new CSS directory: ${path.dirname(cssPath)}/`); - - // Create cssPath directory recursively - fs.mkdir(path.dirname(cssPath), { recursive: true }, (mkdirErr) => { - if (mkdirErr) throw mkdirErr; - - // eslint-disable-next-line no-console - console.log('CSS directory created.'); - - generateCss(scssPath, cssPath); - }); - } - - // Compile CSS on startup - generateCss(scssPath, cssPath); - - // Watch for changes to scssPath directory... - fs.watch(path.dirname(scssPath), (evType, filename) => { - // eslint-disable-next-line no-console - console.log(`SCSS file changed: ${path.dirname(scssPath)}/${filename}`); - - generateCss(scssPath, cssPath); - }); -}; diff --git a/_includes/shortcodes/avatar.js b/_includes/shortcodes/avatar.js deleted file mode 100644 index b287f234..00000000 --- a/_includes/shortcodes/avatar.js +++ /dev/null @@ -1,35 +0,0 @@ -const Image = require('@11ty/eleventy-img'); - -module.exports = async (src, alt, className, outputFormat = 'jpeg') => { - if (alt === undefined) { - throw new Error(`Avatar: missing ALT attribute from: ${src}`); - } - - const classAttr = className ? `class="${className}"` : ''; - - try { - let metadata = await Image(src, { - cacheOptions: { - // renew img cache every 12 weeks - duration: '12w', - // add img cache to version control so GitHub Pages doesn't lose people pics - // from old links (e.g., twitter) that have long since expired - directory: '_cache', - }, - formats: [outputFormat], - urlPath: '/assets/avatar/', - outputDir: '_site/assets/avatar/', - widths: [96], - }); - - let data = metadata.jpeg[metadata.jpeg.length - 1]; - - return `${alt}`; - } catch (err) { - // eslint-disable-next-line no-console - console.error('Avatar: eleventy-img:', err); - - // load empty img src (as placeholder) - return `${alt}`; - } -}; diff --git a/_includes/shortcodes/meetup-details.js b/_includes/shortcodes/meetup-details.js deleted file mode 100644 index e0c12a1a..00000000 --- a/_includes/shortcodes/meetup-details.js +++ /dev/null @@ -1,148 +0,0 @@ -const organizations = require('../../_data/organizations.json'); -const siteData = require('../../_data/site.json'); - -/** - * Filter date output to follow pattern MMMM D, YYYY - * - * @param {object} dateValue Date object - * - * @return {string} Formatted date string. - */ -const fullDate = (dateValue) => { - const monthNames = [ - 'January', 'February', 'March', 'April', 'May', 'June', - 'July', 'August', 'September', 'October', 'November', 'December', - ]; - const newDate = new Date(dateValue); - - return `${monthNames[newDate.getMonth()]} ${newDate.getDate()}, ${newDate.getFullYear()}`; -}; - -/** - * Create Twitter search link with page URL - * - * @param {string} content Text for link - * @param {string} pageUrl Page URL - * - * @return {string} Fully formed Twitter search link - */ -const tweetSearch = (content, pageUrl) => { - // const url = `${siteData.url.replace('https://', '')}/posts/meetups/`; - // ^^ use if less specific searches are desired ^^ - const url = `${siteData.url.replace('https://', '')}${pageUrl}`; - const search = encodeURIComponent(url); - - return `${content}`; -}; - -/** - * Create Twitter tweet link with page title and URL - * - * @param {string} content Text for link - * @param {string} pageUrl Page URL - * @param {string} pageTitle Page Title - * - * @return {string} Fully formed Twitter share link - */ -const tweetPost = (content, pageUrl, pageTitle) => { - const settings = { - text: `Meetup: "${pageTitle}"`, - url: `${siteData.url.replace('https://', '')}${pageUrl}`, - via: siteData.author.twitter, - }; - const params = Object.entries(settings) - .reduce((acc, item) => `${acc}${item[0]}=${encodeURIComponent(item[1])}&`, ''); - - return `${content}`; -}; - -/** - * Provide template for meeting details. - * - * @param {string} meetHeader The meeting header (optional) - * @param {string} meetDate The meet date - * @param {string} venue The venue - * @param {string} after The after party gathering place - * @param {string} meetTitle The meet title (optional) - * @param {string} msgHeader The message header (optional) - * - * @return {string} Completed template - */ -module.exports = function meetupDetails(meetHeader, meetDate, venue, after, meetTitle, msgHeader) { - const header = msgHeader || 'Meetup details'; - - const svgBlock = ` - - - - `; - - const venueOrg = venue - ? organizations[venue] - : {}; - const venueLocation = venueOrg.location - ? `(${venueOrg.location})` - : ''; - - const afterOrg = organizations[after]; - let afterBlock = ''; - - if (afterOrg) { - const afterName = afterOrg.url - ? `${afterOrg.name}` - : afterOrg.name; - - afterBlock = `

- Afterwards, the discussion carries on at - ${afterName} - (${afterOrg.location}). -

`; - } - - return `
- ${svgBlock} -
- ${header} -
- -
- ${meetHeader} - -
- DATE - - - - -
- -
- TIME - - - - - - -
- -
- LOCATION - - - - ${venueOrg.name} - ${venueLocation} -
- - - (Check back here or on ${tweetSearch('Twitter', this.page.url)} for updates.) - - - ${afterBlock} - -
- Help ${tweetPost('spread the word on Twitter', this.page.url, meetTitle)}. -
-
-
`; -}; diff --git a/_includes/shortcodes/responsive-image.js b/_includes/shortcodes/responsive-image.js deleted file mode 100644 index ed963410..00000000 --- a/_includes/shortcodes/responsive-image.js +++ /dev/null @@ -1,43 +0,0 @@ -const Image = require('@11ty/eleventy-img'); - -module.exports = async (src, alt, outputFormats = 'jpeg') => { - if (alt === undefined) { - throw new Error(`Responsive Image: missing ALT attribute from: ${src}`); - } - - const sizes = '(max-width: 400px) 400px, (max-width: 800px) 800px, 100vw'; - const formats = outputFormats.split(','); - - try { - const stats = await Image(src, { - formats, - urlPath: '/assets/img/', - outputDir: '_site/assets/img/', - widths: [400, 800, null], - }); - - const defaultSrc = stats[formats.slice(-1)][0]; - const sourceBlock = Object.values(stats).map((imageFormat) => ``) - .join('\n'); - const imgBlock = `${alt}`; - - return ` - ${sourceBlock} - ${imgBlock} - `; - } catch (err) { - // eslint-disable-next-line no-console - console.error('Responsive Image: eleventy-img error:', err); - - // load empty img src (as placeholder) - return `${alt}`; - } -}; diff --git a/_includes/shortcodes/social-svg.js b/_includes/shortcodes/social-svg.js deleted file mode 100644 index 6ac19354..00000000 --- a/_includes/shortcodes/social-svg.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The social-link include may be used several times on one page. - * To prevent repeating the source SVG block each time the include is called, - * keep track of the calling page (using page.url) and the SVG status. - */ - -const page = {}; - -module.exports = function socialSvg() { - const hasSvg = page[this.page.url] || false; - - // if SVG was already added to this file, then bail out - if (hasSvg) return ''; - - // ...otherwise update hasSvg and return the SVG block - page[this.page.url] = true; - - return ` - - - - `; -}; diff --git a/_includes/shortcodes/video-player.js b/_includes/shortcodes/video-player.js deleted file mode 100644 index 04d33733..00000000 --- a/_includes/shortcodes/video-player.js +++ /dev/null @@ -1,50 +0,0 @@ -module.exports = (video, title) => { - const reIsLink = /^https:\/\/.*$/; - - if (video && reIsLink.test(video)) { - const videoLink = `"${title}"`; - const videoMatch = video.match(/https:\/\/(.*?)\/(.+)$/); - - if (videoMatch) { - const videoId = videoMatch[2]; - let videoPlayer; - let videoSrc; - - if (videoMatch[1] === 'vimeo.com') { - videoPlayer = ``; - videoSrc = ' on Vimeo'; - } else if (videoMatch[1] === 'youtu.be') { - videoPlayer = ``; - videoSrc = ' on YouTube'; - } else if (videoMatch[1] === 'www.youtube.com') { - const videoVId = videoId.replace(/.*v=([a-z0-9]+).*/i, '$1'); - - videoPlayer = ``; - videoSrc = ' on YouTube'; - } else { - return `
-

Meetup video

-
-

- ${videoLink} -

-
-
`; - } - - return `
-

Meetup video

-
-
- ${videoPlayer} -
-
- ${videoLink.replace('', `${videoSrc}`)} -
-
-
`; - } - } - - return ''; -}; diff --git a/_includes/social-links.liquid b/_includes/social-links.liquid deleted file mode 100644 index 756e7dd8..00000000 --- a/_includes/social-links.liquid +++ /dev/null @@ -1,31 +0,0 @@ -{%- socialSvg -%} - -{%- if person.email %} - - - -{% endif -%} - -{%- if person.homepage %} - - - -{% endif -%} - -{%- if person.twitter %} - - - -{% endif -%} - -{%- if person.github %} - - - -{% endif -%} - -{%- if person.linkedin %} - - - -{% endif -%} diff --git a/_layouts/base.liquid b/_layouts/base.liquid deleted file mode 100644 index 9308a5a4..00000000 --- a/_layouts/base.liquid +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - {%- if meta.description -%} - {%- assign desc = meta.description -%} - {%- else -%} - {%- assign desc = layoutContent | regexReplace: '

.*

', '' | strip_html | regexReplace: '\s{2,}', ' ' | truncate: 160 -%} - {%- endif -%} - - {%- capture pageTitle -%} - {%- if title != site.title -%}{{- title -}} • {%- endif -%}{{ site.title }} - {%- endcapture -%} - - - - {{ pageTitle }} - - - - - - - - - - - - - -
-
- {{ content }} - -

- Edit this page -

-
-
- - - {%- if app.environment != 'dev' -%} - {%- include 'ga.html' -%} - {%- endif -%} - - diff --git a/_layouts/meetup.liquid b/_layouts/meetup.liquid deleted file mode 100644 index 1b0e6b17..00000000 --- a/_layouts/meetup.liquid +++ /dev/null @@ -1,80 +0,0 @@ ---- -layout: base ---- -
-
-

{{ title }}

-
- {{ content }} -
- - {%- meetupDetails page.date, venue, after, title -%} - {%- endmeetupDetails -%} - - {%- videoPlayer video, title -%} -
- -
- {%- if slides -%} -
-

Meetup slides

- -
- - {%- endif -%} -

Speaker

- - {%- for person in speakers -%} -
- {%- include 'business-card.liquid' -%} -
- {%- endfor -%} -
-
- -{%- if sponsor.name or sponsor -%} -{%- if sponsor.name and sponsor.url -%} -{%- assign sponsorOrg = sponsor -%} -{%- elsif sponsor -%} -{%- assign sponsorOrg = organizations[sponsor] -%} -{%- endif -%} -
-
-
-

Sponsor

- - {%- if sponsorOrg.logo -%} - - {%- endif -%} - - {%- if sponsorOrg.message -%} -
- {{ sponsorOrg.message | markdown }} -
- {%- elsif sponsorOrg.name -%} -

Austin JavaScript is sponsored this month by {{ sponsorOrg.name }}. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community. - {%- if sponsorOrg.careerUrl -%} - Ask them about their job opportunities! - {%- endif -%} -

- {%- endif -%} - - {%- if sponsorOrg.note -%} -

- {{ sponsorOrg.note | markdown }} -

- {%- endif -%} -
-
-
-{%- endif -%} - -{%- assign nextPost = collections.meetups | getNextCollectionItem: page -%} -{%- assign previousPost = collections.meetups | getPreviousCollectionItem: page -%} -{%- include 'nav-posts.liquid' -%} diff --git a/_layouts/post.liquid b/_layouts/post.liquid deleted file mode 100644 index f48475d1..00000000 --- a/_layouts/post.liquid +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: base ---- -
-
-

{{ title }}

- -
- {{ content }} -
-
-
- -{%- assign nextPost = collections.posts | getNextCollectionItem: page -%} -{%- assign previousPost = collections.posts | getPreviousCollectionItem: page -%} -{%- include 'nav-posts.liquid' -%} diff --git a/_meetups/2010-01-19-meetup.md b/_meetups/2010-01-19-meetup.md deleted file mode 100644 index 1d096e29..00000000 --- a/_meetups/2010-01-19-meetup.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -layout: meetup -title: Superclassy Inheritance with JavaScript + Web Performance and JavaScript UI Architecture -author: jmccann -when: 2010-01-19T19:30:00-06:00 -speakers: - - name: Alex Sexton - title: - avatar: https://2010.texasjavascript.com/images/alex_sexton.jpg - bio: Alex is a front-end web developer based out of Austin, TX. He is a co-host of the [yayQuery Podcast](http://yayquery.com), a weekly show that targets front-end devs with a quirky sense of humor. As a recent Computer Science graduate of The University of Texas, Alex treats JavaScript like the first-class language that it is and specializes in web application development with jQuery. Alex can often be found helping out newbs in the *jquery* irc chat on irc.freenode.net as well as on his blog at http://alexsexton.com. - email: - homepage: http://alexsexton.com - twitter: slexaxton - github: - linkedin: - - name: Kyle Simpson - title: - avatar: https://2010.texasjavascript.com/images/kyle_simpson.jpg - bio: Kyle Simpson is a UI architect from Austin, TX. He is passionate about user experience, specifically optimizing the UI to be as responsive, efficient, secure, and scalable as possible. He considers JavaScript the ultimate language and is constantly tinkering with how to push it further. If something can't be done in JavaScript or web technology, he's bored by it. He has a number of open-source projects, including flXHR, LABjs, mpAjax, and jXHR, and he also is a core contributor to SWFObject. Check him out at [Getify](http://blog.getify.com). - email: - homepage: http://blog.getify.com - twitter: getify - github: - linkedin: -sponsor: - name: WhoLinksToMe - url: http://wholinkstome.com/ -venue: virtuegroup -after: draughthouse -organizers: - - jmccann - - ksimpson ---- - -2010 is off to a ridiculous start for the JavaScript community and this month, we have TWO incredible topics and two renowned and respected speakers: Alex Sexton and Kyle Simpson. - -## Superclassy Inheritance with JavaScript - -Superclassy Inheritance with JavaScript is a quick look at the benefits and consequences of several inheritance patterns in JavaScript. Code reuse plays a major role in the DRY development pattern and leveraging the inheritance patterns built into JavaScript or manipulating them can change the way you build and organize large applications. Unfortunately, JavaScript's reputation and odd naming scheme have stopped people from using all the features that it has to offer. First, we'll discuss the array of options that exist and then go through a real-world example while using our newly honed inheritance-foo to make it play nice. - -## Web Performance and JavaScript UI Architecture - -Kyle will cover a couple of recent endeavors of mine into improving page- load performance on web sites. One is a set of experiments in various ways to deliver JavaScript code to the browser but to defer its execution until later. Such techniques are particularly well suited to mobile applications, but have some benefit to traditional browser apps as well. The other endeavor is a new site/service just launched at http://2static.it -- a service to provide free sub-domain aliases to create a cookie-free URL to load your static page assets (JS, CSS, images, SWFs, etc). - -As time permits, Kyle will also give an intro/preview to both my upcoming talk at Developer-Day Austin and my upcoming talk at SXSW Interactive, on JavaScript UI Architecture. We'll cover a new theory/approach to UI architecture I'm calling CVC (Client-View-Controller), which is a deconstructed variation on the more common MVC pattern. It involves a simple template engine (written in JavaScript) which can run either on the server or in the browser, as well as several JavaScript based "controller" modules. diff --git a/_meetups/2010-02-16-meetup.md b/_meetups/2010-02-16-meetup.md deleted file mode 100644 index 483f34ea..00000000 --- a/_meetups/2010-02-16-meetup.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: meetup -title: JavaScript Quiz + HandlebarJS -author: jmccann -when: 2010-02-16T19:30:00-06:00 -speakers: - - name: Kyle Simpson - title: - avatar: https://2010.texasjavascript.com/images/kyle_simpson.jpg - bio: Kyle Simpson is a UI architect from Austin, TX. He is passionate about user experience, specifically optimizing the UI to be as responsive, efficient, secure, and scalable as possible. He considers JavaScript the ultimate language and is constantly tinkering with how to push it further. If something can't be done in JavaScript or web technology, he's bored by it. He has a number of open-source projects, including flXHR, LABjs, mpAjax, and jXHR, and he also is a core contributor to SWFObject. Check him out at [Getify](http://blog.getify.com). - email: - homepage: http://blog.getify.com - twitter: getify - github: - linkedin: -sponsor: - name: WhoLinksToMe - url: http://wholinkstome.com/ -venue: virtuegroup -after: draughthouse -organizers: - - jmccann - - ksimpson ---- - -## JavaScript Quiz - -**Speaker: YOU.** Yes, that's right, you will be participating, okay, only if you want to, but it is highly encouraged. - -Recently, Juriy Zaytsev, otherwise known as "kangax" and core developer for Prototype, released a quiz with some rather challenging questions related to some of the unique underpinnings and nuances of the JavaScript language. - -We will take the quiz, collectively, and even go through the answers, collectively!  Group participation is key here as the more people contribute, the more people learn. - -## JavaScript instance operators, HandlebarJS Templating - -Kyle Simpson will continue the discussions from the JavaScript quizzes and zero in on a few powerful but often-confused JavaScript operators: `new`, `delete`, and `instanceof`. To illustrate the use of these operators, we'll look at a pattern for custom error handling. - -Armed with a new found confidence in some of JavaScript's nitty gritty details, we'll take a look at a new templating engine (HandlebarJS) which can run either browser-side or server-side. Coverage will include both the templating syntax as well as a code review of the engine's internals. - -Afterwards, the discussion carries on one block away at [The Draught House][4], where it just happens to be pint night so you can get your beer fix here. - -[4]: http://bit.ly/blsxp "Google Map of The Draught House" diff --git a/_meetups/2010-04-20-meetup.md b/_meetups/2010-04-20-meetup.md deleted file mode 100644 index 5156a8c3..00000000 --- a/_meetups/2010-04-20-meetup.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: meetup -title: Building Desktop Applications Using Adobe AIR and JavaScript -author: jmccann -when: 2010-04-20T19:30:00-05:00 -speakers: - - name: Aaron Forsander - title: - avatar: https://pbs.twimg.com/profile_images/1542856050/14116_10100201593422040_7905226_60357440_1066919_n_bigger.jpg - bio: Aaron Forsander is a web developer from Austin, TX.  He graduated from The University of Texas at Austin in 2008 with a degree in Electrical Engineering and, to the chagrin of his parents, immediately discarded it to build web applications.  He is currently a developer for Four Kitchens where he helps them make BIG websites. - email: - homepage: - twitter: AaronForsander - github: - linkedin: -sponsor: -venue: virtuegroup -after: draughthouse -organizers: - - jmccann - - ksimpson ---- - -After a massively successful SXSWi party last month, we are back on schedule for our monthly meetup.  This month, we have a presentation on how to use [Adobe AIR](http://www.adobe.com/products/air/) to build desktop applications by Aaron Forsander. - -## Building Desktop Applications Using Adobe AIR and JavaScript - -As a JavaScript developer you don't have to limit yourself to the web.  Adobe AIR allows web developers to create desktop applications with technologies they are familiar with including Flash, Flex and JavaScript. This talk demonstrates the basics on how to create desktop applications entirely in JavaScript.  I addition, I will also talk about helpful libraries and frameworks that allow you to develop rapidly, organize your code and unit test. You can do more with Adobe AIR than just build Twitter clients, I promise! diff --git a/_meetups/2010-06-15-meetup.md b/_meetups/2010-06-15-meetup.md deleted file mode 100644 index 0bffc233..00000000 --- a/_meetups/2010-06-15-meetup.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: meetup -title: XUI + Cross Domain Hacking -author: jmccann -when: 2010-06-15T19:30:00-05:00 -speakers: - - name: Joe McCann - title: Senior Technologist at [frog design](http://frogdesign.com) - avatar: https://2010.texasjavascript.com/images/joe_mccann.jpg - bio: Joe McCann is a Senior Technologist at [frog design](http://frogdesign.com), Principal at [subPrint Interactive](http://subprint.com), and founder and curator of the Austin JavaScript meetup group. With professional work experience ranging from the music and fashion industries to Wall Street and the web, Joe’s current passion lies in creating decadent user experiences whether the targeted medium is the web, mobile applications, desktop software, or even a new medium altogether and the targeted device ranges a from mobile phone to an iPad or even a new, proprietary device altogether. - email: - homepage: - twitter: joemccann - github: - linkedin: - - name: Alex Sexton - title: Labs Engineer at [Bazaarvoice](http://bazaarvoice.com) - avatar: https://2010.texasjavascript.com/images/alex_sexton.jpg - bio: Alex is also a co-host of the infamous [yayQuery podcast](http://yayquery.com) and a contributor to a number of open source projects, including XUI. - email: - homepage: http://alexsexton.com - twitter: slexaxton - github: - linkedin: -sponsor: -venue: virtuegroup -after: draughthouse -organizers: - - jmccann - - ksimpson ---- -Right on heels of [TXJS,][1] this month's edition of the Austin JavaScript Meetup includes two speakers from TXJS, Joe McCann and Alex Sexton. - -## XUI - -Joe will be discussing the slick mobile micro-framework, [XUI][5], which you can use to build out mobile websites or even mobile webapps where the targeted device is running a reasonable build of Webkit (namely iPhone, Android, and WebOS).  Popular libraries like jQuery are a bit large in size and contain loads of cross-browser code that is irrelevant in most mobile devices.  XUI is only 3kb and can provide you with a large enough toolkit to get almost any job done.  Joe will introduce the library and how you can start using it right now. - -## Cross Domain Hacking - -If you had to rank the best and worst moments of your JavaScript life, you'd probably rank reading "The Good Parts" up towards the top, and deep down at the bottom of the list would be the day that you found out that you couldn't make cross-domain requests in the browser. This talk covers the hacks, tips, and tricks to leave the Same Origin Policy in the dust. So grab a cookie, pad your json, and learn how to communicate properly. - -[1]: http://texasjavascript.com -[5]: http://xuijs.com diff --git a/_meetups/2010-07-20-meetup.md b/_meetups/2010-07-20-meetup.md deleted file mode 100644 index fdbea6e5..00000000 --- a/_meetups/2010-07-20-meetup.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -layout: meetup -title: Introducing Node.js + Scripty -author: jmccann -when: 2010-07-20T19:30:00-05:00 -speakers: - - name: Joe McCann - title: Senior Technologist at [frog design](http://frogdesign.com) - avatar: https://2010.texasjavascript.com/images/joe_mccann.jpg - bio: Joe McCann is a Senior Technologist at [frog design](http://frogdesign.com), Principal at [subPrint Interactive](http://subprint.com), and founder and curator of the Austin JavaScript meetup group. With professional work experience ranging from the music and fashion industries to Wall Street and the web, Joe’s current passion lies in creating decadent user experiences whether the targeted medium is the web, mobile applications, desktop software, or even a new medium altogether and the targeted device ranges a from mobile phone to an iPad or even a new, proprietary device altogether. - email: - homepage: - twitter: joemccann - github: - linkedin: - - name: Andrew Dupont - title: - avatar: https://2010.texasjavascript.com/images/andrew_dupont.jpg - bio: Andrew Dupont is a web front-end developer and co-maintainer of [Prototype](http://www.prototypejs.org/), the widely-used JavaScript framework. He is the author of *Practical Prototype & script.aculo.us*, published by Apress. - email: - homepage: - twitter: andrewdupont - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann - - ksimpson ---- - -The July meetup details consist of some client side and server side JavaScript discussions. Joe McCann will be providing some info on the ultra hot web server and web app framework Node.js while Andrew Dupont educates us on the latest and greatest features of scripty2. - -## Introducing Node.js - -Joe will be introducing [Node.js][3], an [evented][4] [I/O][5] [framework][6] for the [V8 JavaScript engine][7].  Node.js is intended to be used to write scalable network programs such as web servers.  However, Node can also be used as a web app framework in addition to its use as a web server.  Joe will be showing some very high level uses of Node (Hello World), but also some more practical uses including the use of the [Express framework][8] and even an example of using [WebSockets][9] with Node. - -## Scripty — Successor to script.aculo.us - -The long alpha period of [scripty2][11], the successor to [script.aculo.us][12], is nearing a close. Andrew will give a tour of the new scripty2 effects engine — complete with support for CSS transitions and hardware-accelerated animation — and show you the new UI components which boast full compatibility with jQuery UI themes. - -[3]: http://nodejs.org -[4]: /wiki/Event-driven_architecture "Event-driven architecture" -[5]: /wiki/I/O "I/O" -[6]: /wiki/Software_framework "Software framework" -[7]: /wiki/V8_JavaScript_engine "V8 JavaScript engine" -[8]: http://expressjs.com -[9]: http://en.wikipedia.org/wiki/WebSockets -[10]: http://www.prototypejs.org/ -[11]: http://scripty2.com/ -[12]: http://script.aculo.us/ diff --git a/_meetups/2010-08-17-meetup.md b/_meetups/2010-08-17-meetup.md deleted file mode 100644 index cc734e04..00000000 --- a/_meetups/2010-08-17-meetup.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: meetup -title: Web Application Design and Coding Strategies -author: jmccann -when: 2010-08-17T19:30:00-05:00 -speakers: - - name: Mike McNally - title: - avatar: https://web.archive.org/web/20160201050235im_/https://pbs.twimg.com/profile_images/62678113/jenkins_bigger.jpg - bio: "Mike McNally started his software career in the late '70s. He's done a little of almost everything along the way: COBOL, image processing, real-time control systems, system software, multimedia, distributed system management, and financial web applications. Mike survived a couple of Austin corporate acquisitions before packing up his office knick-knacks and web app experience for a new startup, Tango Health." - email: - homepage: http://whatsthepointy.blogspot.com - twitter: m5 - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann - - -ksimpson ---- - -After a huge turnout last month (nearly 40 attendees), we are expecting even bigger and better things this coming month in our August meetup.  We are changing the format a bit with **one presentation**, by Mike McNally on web application design and coding strategies, followed by an **open forum of topics**. - -Mike will talk about web application design and coding strategies, and how the domains of "active" page design, unobtrusive Javascript coding, and user experience architecture all collide to give us a great big headache. He'll talk about a small jQuery plugin as an example of harnessing the power of your favorite framework for more than just rounded corners. - -After some great discussions during our last meetup (and even afterwards at The Gingerman), we decided to have an open forum discussing various topics at this month's meetup.  Topics will be chosen at random, but please come to the meetup with some ideas or better yet, leave them in the comments or @ reply to [@austinjs][2] on twitter. - -[2]: http://twitter.com/austinjs diff --git a/_meetups/2010-09-21-meetup.md b/_meetups/2010-09-21-meetup.md deleted file mode 100644 index 5cc203d1..00000000 --- a/_meetups/2010-09-21-meetup.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: meetup -title: JavaScript Objects, Constructors, and Prototypes -author: jmccann -when: 2010-09-21T19:30:00-05:00 -speakers: - - name: Kyle Simpson - title: - avatar: https://2010.texasjavascript.com/images/kyle_simpson.jpg - bio: Kyle Simpson is a UI architect from Austin, TX. He is passionate about user experience, specifically optimizing the UI to be as responsive, efficient, secure, and scalable as possible. He considers JavaScript the ultimate language and is constantly tinkering with how to push it further. If something can't be done in JavaScript or web technology, he's bored by it. He has a number of open-source projects, including LABjs, HandlebarJS/BikechainJS, and flXHR, and he also is a core contributor to SWFObject.  Check him out at [Getify](http://blog.getify.com). - email: - homepage: http://blog.getify.com - twitter: getify - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann - - ksimpson ---- - -After another huge turnout in August, we are expecting yet another great meetup for September.  We have an Austin JavaScript veteran, [Kyle Simpson][1], giving a special presentation and we will follow it up with the **open forum of topics**.  So come prepared with ideas for discussion! - -Kyle's discussion will be diving deep into the internals of how objects, constructors, and prototypes work. He will also cover many of the important upcoming ES5 changes which are starting to be implemented by the bleeding edge browsers. - -[1]: http://twitter.com/getify diff --git a/_meetups/2010-10-19-meetup.md b/_meetups/2010-10-19-meetup.md deleted file mode 100644 index 35cd8835..00000000 --- a/_meetups/2010-10-19-meetup.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -layout: meetup -title: Phonegap + Rapid Prototyping with JavaScript -author: jmccann -when: 2010-10-19T19:30:00-05:00 -speakers: - - name: Brian Leroux - title: Lead at [Nitobi](http://www.nitobi.com) - avatar: https://2010.texasjavascript.com/images/brian_leroux.jpg - bio: - email: - homepage: - twitter: brianleroux - github: - linkedin: - - name: Joe McCann - title: Senior Technologist at [frog design](http://frogdesign.com) and Principal at [subPrint Interactive](http://subprint.com) - avatar: https://2010.texasjavascript.com/images/joe_mccann.jpg - bio: - email: - homepage: - twitter: joemccann - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann - - ksimpson ---- - -Coming off last month's meetup, we now have the first in our guest speakers series at Austin JavaScript plus another local giving his presentation from [JSConf EU][1] in Berlin. - -## Phonegap - -[Brian Leroux][2], Lead at [Nitobi][3], co-author of [Phonegap][4], and creator of projects like [XUI][5] and [Lawnchair][6] and [wtfjs.com][7] will be flying in from Vancouver, British Columbia, Canada to talk to us about Phonegap, an open source development framework for building cross-platform mobile apps. Phonegap allows you to build apps in HTML and JavaScript and *still* take advantage of core features in iPhone/iTouch, iPad, Google Android, Palm, Symbian and Blackberry SDKs. Brian will be giving a talk on Phonegap, when you should and should not use it and also showcase the brand new app packaging in the cloud service at [build.phonegap.com][8]. - -## Rapid Prototyping with JavaScript - -[Joe McCann][9], Senior Technologist at [frog design][10] and Principal at [subPrint Interactive][11] will be giving his presentation on Rapid Prototyping with JavaScript for Multiple Platforms that he gave in Berlin at JSConf.Eu.  Read the comprehensive description of his talk [here][12] and go check out the source code for the apps for the demos on [github][13]. - - [1]: http://jsconf.eu - [2]: http://twitter.com/brianleroux - [3]: http://www.nitobi.com - [4]: http://www.phonegap.com - [5]: http://xuijs.com/ - [6]: http://brianleroux.github.com/lawnchair/ - [7]: http://wtfjs.com - [8]: http://build.phonegap.com - [9]: http://twitter.com/joemccann - [10]: http://frogdesign.com - [11]: http://subprint.com - [12]: http://jsconf.eu/2010/speaker/rapid_prototyping_for_multiple.html - [13]: http://github.com/joemccann/Lingua diff --git a/_meetups/2010-11-16-meetup.md b/_meetups/2010-11-16-meetup.md deleted file mode 100644 index e4c246f7..00000000 --- a/_meetups/2010-11-16-meetup.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: meetup -title: has.js, Dojo Foundation, and the CommonJSBrowser Initiative -author: jmccann -when: 2010-11-16T19:30:00-05:00 -speakers: - - name: Pete Higgins - title: - avatar: https://2010.texasjavascript.com/images/peter_higgins.jpg - bio: Pete Higgins, aka the "It's Just JavaScript Guy", is the [Dojo Toolkit Project Lead](http://www.dojotoolkit.org/) and also the creator of a new feature detection library, [has.js](http://github.com/phiggins42/has.js). - email: - homepage: - twitter: phiggins - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann - - ksimpson ---- - -After last month's large turnout for the first in our guest speaker's series, you may want to consider getting to this month's meetup early.  Not only are we bringing back the roundtable discussion of various JavaScript topics, but we have the Reverend Pete Higgins flying in from Tennessee! - -Every time you sniff a browser a baby kitten dies.  Never fear as Pete will be discussing the usage of has.js so many more kittens can live happy lives.  Also, Pete will be chatting up the Dojo Foundation and a brand new CommonJSBrowser Initiative (details at the meetup!).  Follow Pete on twitter at [@phiggins][1] and be sure to have a look at his campaign at http://higginsforpresident.net. - -For the second half of the meetup we will carry on with our new tradition of the open forum where you, yes you and everyone else will have an opportunity to ask a question, bring up a topic or heckle [@joemccann][4].  Our latest polls indicate many people enjoy the roundtable discussion so be sure to have some fresh ideas! - - [1]: http://twitter.com/phiggins - [4]: http://twitter.com/joemccann diff --git a/_meetups/2011-01-18-meetup.md b/_meetups/2011-01-18-meetup.md deleted file mode 100644 index f6e88d0e..00000000 --- a/_meetups/2011-01-18-meetup.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: meetup -title: JavaScript Gaming -author: jmccann -when: 2011-01-18T19:30:00-06:00 -video: https://vimeo.com/18995176 -speakers: - - name: Bradley Meck - title: - avatar: https://pbs.twimg.com/profile_images/282339703/Photo_7_400x400.jpg - bio: Bradley is a [Node.js](http://nodejs.org) user and has implemented es-harmony objects as a v8 extension. Runtime compilation and optimization are some of his passions along with his firm belief in JavaScript being a misunderstood language, even by many developers (including himself). - email: - homepage: - twitter: bradleymeck - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -After a nice break and great happy hour sponsored by [Tek Systems][1] over December, Austin JavaScript is back in action with a great talk by the local node.js and JavaScript gaming phenom, Bradley Meck. - -JavaScript gaming is becoming an even hotter topic as many game developers are moving away from Flash and more towards and "HTML5" framework for implementing games.  Bradley will be discussing the state of game creation in JavaScript, some problems and solutions for developers wanting to create games and finally how to interact with Flash in order to obtain some valuable fallbacks. His presentation will also touch on some of the roadblocks and issues with multi-player games. - -Of course we will followup his presentation with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][3]. - -[1]: http://teksystems.com -[3]: http://twitter.com/joemccann diff --git a/_meetups/2011-02-15-meetup.md b/_meetups/2011-02-15-meetup.md deleted file mode 100644 index 819bc27c..00000000 --- a/_meetups/2011-02-15-meetup.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: meetup -title: Lettering.js — A jQuery Plugin for Radical Web Typography -author: jmccann -when: 2011-02-15T19:30:00-06:00 -video: https://vimeo.com/20214958 -speakers: - - name: Dave Rupert - title: - avatar: https://pbs.twimg.com/profile_images/477460555981025280/JUGkf8zv_400x400.jpeg - bio: Dave Rupert is lead developer and 1/3rd of [Paravel](http://paravelinc.com). He is also the host of the [ATX Web Show](http://atxwebshow.com), a not-so-weekly podcast all about the local web design and development scene here in Austin, TX. - email: - homepage: - twitter: davatron5000 - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -This month's meetup we take a step away from the traditionally hardcore, engineering-focused styles talks and presentations and decide to focus back on the user interface and beautifying the web, specifically typography. Neighborhood superstar, Rails aficionado and iOS contemporary [Dave Rupert][1] will be discussing and showcasing, [Lettering.js][2]. - -Web type is exploding all over the web but CSS currently doesn't offer complete down-to-the-letter control. While working on the [Lost World's Fairs][3] project for Microsoft and the launch of IE9 Beta, Dave Rupert and team needed that level of control. Thus was born, Lettering.js, a jQuery plugin for radical web typography. - -We'll be walking through this simple jQuery plugin line-by-line, talking about the art of releasing a jQuery plugin, and peeking at some real-world use cases. - -Of course we will followup his presentation with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][5]. - -[1]: http://twitter.com/davatron5000 -[2]: http://www.letteringjs.com -[3]: http://lostworldsfairs.com -[5]: http://twitter.com/joemccann diff --git a/_meetups/2011-04-19-meetup.md b/_meetups/2011-04-19-meetup.md deleted file mode 100644 index c5aef0b4..00000000 --- a/_meetups/2011-04-19-meetup.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: meetup -title: The Art of Releasing a jQuery Plugin + Next Gen JavaScript -author: jmccann -when: 2011-04-19T19:30:00-05:00 -video: https://vimeo.com/24153426 -speakers: - - name: Howard Rauscher - title: - avatar: https://avatars.sched.co/6/D7/1449336/avatar.jpg?029 - bio: For most of Howard's 6 year developer career, JavaScript programming has been an everyday thing. He's been *lucky* enough to work on projects that were highly coupled to [Prototype](http://www.prototypejs.org/) and [jQuery](http://jquery.com) before the libraries had good test coverage for IE6. This gave Howard the opportunity to become very familiar with the internals of those libraries and over time he was able to master the internals and was able to contribute some patches back. - email: - homepage: - twitter: howardrauscher - github: - linkedin: - - name: David Herman - title: - avatar: https://web.archive.org/web/20101111013054im_/http://a1.twimg.com/profile_images/627413341/webcam-face_bigger.jpg - bio: David Herman is a programming language propeller-head at Mozilla, where he works on the design of next-generation languages and language features. - email: - homepage: - twitter: littlecalculist - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -After a [massively successful SXSW Party last month][1], we are back on track with our regular scheduled monthly meetup.  For April, we have a brief yet insightful presentation by a local, [Howard Rauscher][2] on developing 3rd party JavaScript widgets and we'll talk more about the IE9 Developer contest, [Dev Unplugged][3]. - -Recently he started working at a new startup called [Mass Relevance][6] which provides social media curation and visualizations to media companies such MTV, New York Times, Washington Post, and CNN . One of his primary roles has been to ensure that their JavaScript widgets don't break across majors browsers on customer websites.  Howard's presentation will consist of walking through a simple jQuery plugin (line-by-line), talking about the art of releasing a jQuery plugin and peeking at some real-world use cases.  Noobs and experts will both benefit! - -We will also discuss the IE9 developer contest, [Dev Unplugged][3], which was announced at the Austin JS SXSW Party last month.  Dev Unplugged is not a just a contest where you can win thousands of dollars in prizes, but it also a way for developers to really explore what is possible with HTML5 and modern web browsers.  As if you needed a reason to be trying out the latest and greatest, Dev Unplugged will reward you for doing so! - -Since Austin is the [Live Music Capital of the World][7], the IE9 team has enticed us to do something cool with the HTML5 Music capabilities.  Here are some ideas to get you going: - - - -[http://gskinner.com/blog/archives/2011/03/music-visualizer-in-html5-js-with-source-code.html](http://gskinner.com/blog/archives/2011/03/music-visualizer-in-html5-js-with-source-code.html) - -[http://9elements.com/io/projects/html5/canvas/](http://9elements.com/io/projects/html5/canvas/) - -[http://always-beautiful.bigspaceship.com](http://always-beautiful.bigspaceship.com) - -Dev Unplugged has a music category for the best “music experience”.  Developers may use their own legally licensed music or the the IE9 Team has provided two tracks for you to experiment with: “Sail” by AWOLNATION and “Boy” by RaRaRiot. Read more about it here: - -[http://www.beautyoftheweb.com/#/unplugged/categories/music](http://www.beautyoftheweb.com/#/unplugged/categories/music) - ---- - -## Special Update - -Last minute special guests are always welcome at the Austin JavaScript Meetup and this month, we have an extra special guest from the [Mozilla][11] team: [David Herman][12]. - -David's a member of [Ecma TC39][14], the committee designing future versions of the JavaScript language standard. The Ecma committee is hard at work on the design of the next version of JavaScript. David will present some highlights of the cool features we can expect in the future of JavaScript. - -Of course we still have everything in store for you as previously planned, but now with some [lagniappe][15]! - ---- - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][10]. - - [1]: http://austinjavascript.com/2011-austin-javascript-sxsw-party-wrapup/ - [2]: http://twitter.com/howardrauscher - [3]: http://www.beautyoftheweb.com/#/unplugged - [6]: http://www.massrelevance.com/ - [7]: http://www.ci.austin.tx.us/music/ - [8]: http://gskinner.com/blog/archives/2011/03/music-visualizer-in-html5-js-with-source-code.html - [9]: http://9elements.com/io/projects/html5/canvas/ - [10]: http://twitter.com/joemccann - [11]: http://www.mozilla.org/ - [12]: http://twitter.com/littlecalculist - [13]: http://blog.mozilla.com/dherman - [14]: http://www.ecma-international.org/memento/TC39.htm - [15]: http://en.wikipedia.org/wiki/Lagniappe diff --git a/_meetups/2011-05-17-meetup.md b/_meetups/2011-05-17-meetup.md deleted file mode 100644 index 957e1c7f..00000000 --- a/_meetups/2011-05-17-meetup.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: meetup -title: Modernizr 2 -author: jmccann -when: 2011-05-17T19:30:00-05:00 -speakers: - - name: Alex Sexton - title: Labs Engineer at [Bazaarvoice](http://bazaarvoice.com) - avatar: https://web.archive.org/web/20161027003022im_/https://avatars1.githubusercontent.com/u/96554?v=3&s=400 - bio: Alex created the [yepnope.js](http://yepnopejs.com/) library and is on the [Modernizr](http://www.modernizr.com/) team and a couple fake/nonvoting/volunteer jQuery subteams that deal with bug triage and docs. He is running [TXJS](http://texasjavascript.com) 2011 on June 11.  He also has a [website](http://alexsexton.com). - email: - homepage: http://alexsexton.com - twitter: slexaxton - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -On the heels of the epic conference week that was [JSConf][1]and [Nodeconf][2], the Austin JS meetup is finally set for the the month of May.  We will be going over some of the highlights of JSConf and local JavaScript hacker and semi-pro [videographer][3], [Alex Sexton][4], will be giving a talk on what to expect out of [Modernizr 2.0][5]. We will also be giving away a ticket to [TXJS][6].  Seriously. - -Modernizr was one of the first libraries on the scene in the 'new-world feature testing religion.' Modernizr 2 is just around the corner and there are some nifty new features in there to help you build modern web apps. Some time would and will be well spent going into how to use Modernizr, but there will also be some more in depth looks into the internals of the core library, build tool, Modernizr.load and into how to extend all of these things for great good. HTML5 today. Straight up. - -Did we mention we are giving away a ticket to [TXJS][10]?  It's sold out, btw. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][12]. - -[1]: http://2011.jsconf.us/ -[2]: http://nodeconf.com -[3]: http://vimeo.com/23575920 -[4]: http://twitter.com/slexaxton -[5]: http://modernizr.github.com/Modernizr/2.0-beta/ -[6]: http://www.texasjavascript.com -[10]: http://texasjavascript.com -[12]: http://twitter.com/joemccann diff --git a/_meetups/2011-06-21-meetup.md b/_meetups/2011-06-21-meetup.md deleted file mode 100644 index 9df08f3f..00000000 --- a/_meetups/2011-06-21-meetup.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: meetup -title: Test-Driving JavaScript with Jasmine -author: jmccann -when: 2011-06-21T19:30:00-05:00 -video: https://vimeo.com/25675962 -speakers: - - name: Tim Tyrrell - title: - avatar: https://web.archive.org/web/20161104143523im_/https://pbs.twimg.com/profile_images/625417581613060096/EfSI3lzo.jpg - bio: - email: - homepage: - twitter: timtyrrell - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -Wrapping up the amazing conference that was [TXJS][1], this month TXJS frontman, [Alex Sexton][2] will be hosting June's meetup. We also have Austin local via Chicago, [Tim Tyrrell][3] chatting up [Jasmine][4], the uber-cool JavaScript unit testing framework. - -There seems to be a tendency for developers to do an excellent job of unit testing their server-side code but leaving client-side javascript as the new “spaghetti” dumping ground and it doesn’t have to be that way! Jasmine is a nifty Javascript BDD testing framework with a RSpec-like syntax that easily integrates with vanilla JavaScript, jQuery plugins, and even Rails applications. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner. - -[1]: http://texasjavascript.com -[2]: http://twitter.com/slexaxton -[3]: http://twitter.com/timtyrrell -[4]: http://pivotal.github.com/jasmine/ diff --git a/_meetups/2011-07-19-meetup.md b/_meetups/2011-07-19-meetup.md deleted file mode 100644 index 6ec2d140..00000000 --- a/_meetups/2011-07-19-meetup.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -layout: meetup -title: Realtime Web Apps with Node.js and Socket.io + Couchbase App -author: jmccann -when: 2011-07-19T19:30:00-05:00 -video: https://vimeo.com/27712070 -speakers: - - name: Aaron Forsander - title: Developer at [Four Kitchens](http://fourkitchens.com/) - avatar: https://pbs.twimg.com/profile_images/1542856050/14116_10100201593422040_7905226_60357440_1066919_n_bigger.jpg - bio: If you don't know who Aaron is, he's a developer at [Four Kitchens](http://fourkitchens.com/) in Austin, TX and graduate of the University of Texas at Austin.  Aaron's been doing web development since 2005 plus a brief and excruciating year of desktop development.  Most of his current work is making large websites scale but he's taken a particular interest in the server side javascript community in recent years.  He's beaten Alex Sexton in ping pong a lot. Like, a whole lot. - email: - homepage: - twitter: AaronForsander - github: - linkedin: - - name: J Chris Anderson - title: - avatar: https://pbs.twimg.com/profile_images/1153739929383346176/4usYqHma_400x400.png - bio: - email: - homepage: - twitter: jchris - github: - linkedin: -sponsor: - name: Compass Learning - url: http://www.compasslearningodyssey.com/ -venue: frog -after: gingerman -organizers: - - jmccann - - asexton ---- - -***UPDATE 07/19/11 ::** Meeting moved to 7:45pm to accomodate the owners of our space.* - -It's hot.  We know.  But don't fret, this month, we'll have plenty of cold beverages (courtesy of [Compass Learning][1]) alongside a talk by local web developer, [Aaron Forsander][2] (no really, he will be here this time!). - -## Realtime Web Apps with Node.js and Socket.io - -[Node.js][5] and [Socket.io][6] have made web sockets ridiculously easy to implement.  Creating real-time web applications has never been easier.  Couple that with the fact that most new phones have GPS and you've got the potential for some really cool interactivity.  In this talk Aaron will be discussing building realtime mobile web applications and demo a really amazing Android app called Zombie Run and how he's porting it to the web using Node.js and Socket.io. - -UPDATE:: 7/15/11 - -Also (surprise!) joining us will be J Chris Anderson from Couchbase! - -Chris was one of the early committers to the Apache CouchDB project and has been working on CouchDB for over 3 years. He's watched CouchDB grow from unknown to a widely deployed and trusted database, now used by large organizations such as the BBC and CERN as well as small organizations like Dimagi using CouchDB on smartphones in rural Africa. Chris has a unique perspective from being involved in all aspects of Couchbase, he is deep into technology but equally involved in the business side of Couchbase - -## JavaScript CouchApps Hackalong: jQuery, Couchbase, and a Chat App in 30 minutes or less - -Couchbase is an HTTP server (as well as a database) so it can serve apps directly to the browser. In this talk, we'll build an HTML5 app on Couchbase, at a pace that anyone who knows basic JavaScript will be able to keep up with. At the end we'll create an ad-hoc cluster so we can all chat across the distributed system. I'll talk a little about how you can use the same techniques for serious apps, not just fun chat toys. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner. - -And bonus time, with [Joe][7] travelling the world, [Alex Sexton][8] will be hosting the meetup again! - - [1]: http://www.compasslearningodyssey.com/ - [2]: http://twitter.com/AaronForsander - [5]: http://node.js.org - [6]: http://socket.io - [7]: http://twitter.com/joemccann - [8]: http://twitter.com/slexaxton diff --git a/_meetups/2011-08-16-meetup.md b/_meetups/2011-08-16-meetup.md deleted file mode 100644 index 28045a62..00000000 --- a/_meetups/2011-08-16-meetup.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: meetup -title: The Fundamentals of JavaScript and jQuery -author: jmccann -when: 2011-08-16T19:30:00-05:00 -speakers: - - name: Mike Cravey - title: UI Engineer at [WhaleShark Media](https://whalesharkmedia.com/) - avatar: https://pbs.twimg.com/profile_images/1201884981137682432/uoqrQ5zx_400x400.jpg - bio: Mike Cravey has loads of web development experience on the back and the front end. Sadly, his biggest claim to fame is that he hired Joe McCann a few years back. What you may not also know is that he has led some internal talks on the basics and fundamentals of JavaScript and his preferred library, jQuery. - email: - homepage: - twitter: craveytrain - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann - - asexton ---- - -After last month's massive turnout, it is officially clear that the only way to beat the Austin heat is to come to the Austin JavaScript meetup (duh). With that being said, we are expecting all of you to return for this month's installment of the meetup as we have local living legend, [Mike Cravey][1], here to serve up the fundamentals of JavaScript and jQuery. - -Mike's talk will focus on the fundamentals of JavaScript the language. Think you know it all?  We guarantee you will learn something new, unless you are [@andrewdupont][4] BECAUSE HE KNOWS ALL [#dupontCAPS][5]. Moreover, the introductory talk with cover things like function hoisting and closures, but even simpler topics like basic expressions. Noobs are certainly welcome so if you are one or know someone, be sure they attend. The presentation will be a quick one, so feel free to chime in while Cravey runs the show. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner. - -Since [Joe][3] is still on gypsy status, [Alex Sexton][6] will be hosting the meetup again! - - [1]: http://twitter.com/craveytrain - [4]: http://twitter.com/andrewdupont - [5]: http://search.twitter.com/?q=#dupontCaps - [6]: http://twitter.com/slexaxton diff --git a/_meetups/2011-09-20-meetup.md b/_meetups/2011-09-20-meetup.md deleted file mode 100644 index 43299d04..00000000 --- a/_meetups/2011-09-20-meetup.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -layout: meetup -title: Using ApplicationCache to Speed Up Page Loads and Lawnchair.js For Storing Offline Data -author: jmccann -when: 2011-09-20T19:30:00-05:00 -speakers: - - name: Kassandra Perch - title: - avatar: https://pbs.twimg.com/profile_images/495625495812124672/DMpIV0R9_400x400.jpeg - bio: Kassandra Perch is a web developer with experience developing several large PHP applications in team and content management. She has a distinct interest in JavaScript and JQuery, and also enjoys playing with Node.js in her spare time. Her current projects involve a team management website for some Austin area softball organizations. - email: - homepage: - twitter: kassandra_perch - github: - linkedin: - - name: Bradley Meck - title: - avatar: https://pbs.twimg.com/profile_images/282339703/Photo_7_400x400.jpg - bio: Bradley Meck works full time at Nodejitsu on tooling and infrastructure. He enjoys security concerns and flow control issues. Most of his free time is spend creating random projects in Node.js or trying to get people to play tabletop RPGs. Although programming Javascript constantly, he has been working solely on the server side for several months. - email: - homepage: - twitter: bradleymeck - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann - - asexton ---- - -September's meetup welcome's back local node.js hacker, Bradley Meck but this time Bradley is bringing his partner in crime, Kassandra Perch, to talk about not only a buzzword-worthy topic, but also one a topic that is incredibly useful — offline web apps. - -Offline features are more than just for when you application is offline or for viewing content offline! Bradley and Kassandra will be discussing how to use ApplicationCache to speed up page loads and Lawnchair.js for storing offline data. They will have an example using Backbone.js' ORM to have an offline application send requests with updated data to a server after it has been offline w/o user interaction. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner. - -[Joe][1] and [Alex][2] will be both be attending [Funconf][3] so local Git, Python and JavaScript master, [Travis Swicegood][4] will be guest hosting the meetup. - -[1]: http://twitter.com/joemccann -[2]: http://twitter.com/slexaxton -[3]: http://funconf.com -[4]: http://twitter.com/tswicegood diff --git a/_meetups/2011-11-15-meetup.md b/_meetups/2011-11-15-meetup.md deleted file mode 100644 index 533bf247..00000000 --- a/_meetups/2011-11-15-meetup.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: meetup -title: Build Native Mobile Apps with Sencha Touch and Phonegap -author: jmccann -when: 2011-11-15T19:30:00-05:00 -speakers: - - name: Lyle Garza - title: - avatar: https://pbs.twimg.com/profile_images/559434253/linked_400x400.jpg - bio: Lyle Garza is an Austin based JavaScript developer with a passion for web technologies.  He has extensive experience in social media, e-commerce, and mobile development.  For the last year, his primary passion has been bridging the gap between native mobile apps and mobile websites. - email: - homepage: - twitter: lyleg - github: - linkedin: -sponsor: - name: Tango Health - url: http://tangohealth.com -venue: frog -after: gingerman -organizers: - - jmccann - - asexton ---- -After an off month in October, we are back this month with another local giving a great talk on how to use web technologies to build native mobile applications with libraries such as Sencha Touch and Phonegap. - -Lyle will be discussing the creation of native mobile apps using web technologies.  He'll cover items from development to debugging and distribution of the app. To help demonstrate these concepts, he'll be demoing a recent app that he created called [Dateventure][2]. - -[Joe][4] is yet again still out of town so [Alex][5] will be guest hosting the meetup. - -[1]: http://twitter.com/ -[2]: http://itunes.apple.com/us/app/dateventure/id464979598?mt=8 -[4]: http://twitter.com/joemccann -[5]: http://twitter.com/slexaxton diff --git a/_meetups/2012-01-17-meetup.md b/_meetups/2012-01-17-meetup.md deleted file mode 100644 index 956291c7..00000000 --- a/_meetups/2012-01-17-meetup.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: meetup -title: Node.js. What Is It? How Does It Work? -author: jmccann -when: 2012-01-17T19:30:00-05:00 -video: https://youtu.be/vqB8yelF5tk -speakers: - - name: Paolo Fragemeni - title: - avatar: https://dtn.is/2015/img/coordinators/1.png - bio: - email: - homepage: - twitter: hij1nx - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- -Happy New Year!  Now that most of us are back to work after a hopefully relaxing holiday, we are ready to kick off yet another year of solid JavaScript meetups for the Austin area. - -This month we have a special guest flying in from New York City — the CTO and co-founder of [Nodejitsu][1], [Paolo Fragemeni][2].  Paolo, a solid computer programmer and veteran hacker has written loads of node.js code including the a significant portion dedicated to the node.js framework, [Flatiron][3]. - -Node.js. What is it?!! How does it work?!! Paolo will be giving an informative talk on just that — the anatomy of node.js. So whether you are are node.js newbie or a seasoned veteran, this informative talk on node will benefit you. - -Also, we will be throwing the **3rd Annual Austin JS SXSW Party** in March so if you and/or your employer/company would like to sponsor the event (or be a part of it), please reach out to [@joemccann][4] to find out more details. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][4]. - -[1]: http://jit.su -[2]: http://twitter.com/hij1nx -[3]: http://flatironjs.com/ -[4]: http://twitter.com/joemccann diff --git a/_meetups/2012-02-21-meetup.md b/_meetups/2012-02-21-meetup.md deleted file mode 100644 index ecc12f32..00000000 --- a/_meetups/2012-02-21-meetup.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: meetup -title: Toura's Mulberry -author: jmccann -when: 2012-02-21T19:30:00-05:00 -speakers: - - name: Rebecca Murphey - title: Lead JavaScript Developer at [Toura](http://toura.com/) - avatar: https://pbs.twimg.com/profile_images/1259973234398769154/uNcYGdTr_400x400.jpg - bio: Rebecca is the lead JavaScript developer at [Toura](http://toura.com) and the lead architect of [Mulberry](http://mulberry.toura.com/), Toura's open-source mobile development framework. She's also a co-founder of the epic [TXJS](http://texasjavascript.com) and the author of [jQuery Fundamentals](http://jqfundamentals.com/). On top of all of that, Rebecca speaks and writes frequently about patterns for organizing large JavaScript applications. - email: - homepage: - twitter: rmurphey - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -Following up on last month's stellar presentation by [Nodejitsu][1]'s, co-founder and CTO, [Paolo Fragemeni][2], Austin JavaScript is back in February with another mover and shaker in the JavaScript and Mobile development industry, [Rebecca Murphey][3]. - -Rebecca will be introducing us to Toura's Mulberry, which is an open-source, cross-platform mobile application development framework built on top of [PhoneGap][8] that lets you use web technologies to produce engaging, content-rich applications. In this talk, Rebecca will give a quick demo of Mulberry basics, then dive in to how they architected the JavaScript, templates, CSS, and tests to create a flexible, pluggable, 100% client-side content publishing system. DON'T SLEEP ON THIS! - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][9]. - -Finally, we will be throwing the **3rd Annual Austin JS SXSW Party** in March so if you and/or your employer/company would like to sponsor the event (or be a part of it), please reach out to [@joemccann][9] to find out more details. - -[1]: http://jit.su -[2]: http://twitter.com/hij1nx -[3]: http://twitter.com/rmurphey -[8]: http://phonegap.com -[9]: http://twitter.com/joemccann diff --git a/_meetups/2012-04-17-meetup.md b/_meetups/2012-04-17-meetup.md deleted file mode 100644 index e0b7dd83..00000000 --- a/_meetups/2012-04-17-meetup.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: meetup -title: Build Web Apps with Enyo and Onyx -author: jmccann -when: 2012-04-17T19:30:00-05:00 -video: https://youtu.be/RViCvCH-vkY -speakers: - - name: Ben Combee - title: Developer Platform Architect at HP - avatar: https://avatars0.githubusercontent.com/u/230363?s=460&v=4 - bio: Ben's a developer platform architect at HP's webOS group. He been doing developer activities as part of the Palm & webOS world since leading the Codewarrior for Palm OS team at Metrowerks in the early 2000's. He's also worked at Mozilla in their mobile browser and done open source hardware hacking with NYC Resistor in Brooklyn. - email: - homepage: - twitter: unwiredben - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- -After another [stellar SXSW event][1], Austin JS is back with another guest speaker, this time with [Ben Combee][2] of WebOS fame. - -Straightforward and to the point, Ben will be chatting with us on how to build web apps with [Enyo][3] and [Onyx][4]. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][5]. - - [1]: http://austinjavascript.com/2012-austinjs-sxsw-party-wrapup/ - [2]: http://twitter.com/unwiredben - [3]: http://enyojs.com - [4]: http://enyojs.com/tutorial/onyx.html - [5]: http://twitter.com/joemccann diff --git a/_meetups/2012-05-15-meetup.md b/_meetups/2012-05-15-meetup.md deleted file mode 100644 index d03d37bc..00000000 --- a/_meetups/2012-05-15-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: "TreeHouse: Using Web Workers to Sandbox JS" -author: jmccann -when: 2012-05-15T19:30:00-05:00 -speakers: - - name: Lon Ingram - title: Lead Frontend Engineer for [Waterfall Mobile](http://www.waterfallmobile.com/) - avatar: https://pbs.twimg.com/profile_images/970161690233864192/rztEhZFR_400x400.jpg - bio: Now finished with school, Lon is focusing on being the lead Lead Frontend Engineer for [Waterfall Mobile](http://www.waterfallmobile.com/). He's been working with JavaScript for over six years and specializes in complex single-page web applications. - email: - homepage: - twitter: lawnsea - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- -This month's Austin JS meetup not only taps into our extensive local talent base, but brings in the academic side of JavaScript as well.  Local JavaScript aficionado, [Lon Ingram][1], will be discussing his University of Texas Honors Thesis, Treehouse.  This is an event not to be missed! - -Lon will be presenting TreeHouse, the subject of his honors thesis, which he completed under the supervision of Dr. Michael Walfish. TreeHouse is a system that uses Web Workers to sandbox (mostly) unmodified JavaScript. TreeHouse gives application authors fine-grained control over untrusted code in their application. Authors can control what parts of the DOM untrusted code can see and modify, as well as the API calls it can make.  Is your mind blown yet? - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][3]. - -[1]: http://twitter.com/lawnsea -[3]: http://twitter.com/joemccann diff --git a/_meetups/2012-06-19-meetup.md b/_meetups/2012-06-19-meetup.md deleted file mode 100644 index 508172b5..00000000 --- a/_meetups/2012-06-19-meetup.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: meetup -title: Mikeal Rogers on Node -author: jmccann -when: 2012-06-19T19:30:00-05:00 -speakers: - - name: Mikeal Rogers - title: - avatar: https://pbs.twimg.com/profile_images/700824335624249348/SkxQsdhq_400x400.png - bio: Mikeal Rogers is one of those developers who needs very little introduction.  Seriously.  He gave me no info to post about whom he is!  You may know him from his work at [Mozilla](http://mozilla.org), on [CouchDB](http://couchdb.apache.org/) and most recently [node](http://nodejs.org) including one of the most widely used modules, [request](https://github.com/mikeal/request). - email: - homepage: - twitter: mikeal - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- -Coming in just on the heels of what is to be *the* JavaScript conference of the South, [TXJS][1], Austin JavaScript has brought another out-of-town guest speaker to the June 2012 meetup. - -Mikeal will be talking about node.  That's all he told me.  I foresee a rather bizarre presentation nonetheless.  Word is it may involve Japanese cuisine. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][7]. - -[1]: http://2012.texasjavascript.com -[2]: http://twitter.com/mikeal -[7]: http://twitter.com/joemccann diff --git a/_meetups/2012-07-17-meetup.md b/_meetups/2012-07-17-meetup.md deleted file mode 100644 index 836852de..00000000 --- a/_meetups/2012-07-17-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: StatsD at Etsy -author: jmccann -when: 2012-07-17T19:30:00-05:00 -video: https://youtu.be/bhPMwmzooxI -speakers: - - name: Garann Means - title: Senior Frontend Engineer at [Etsy](http://etsy.com) - avatar: https://pbs.twimg.com/profile_images/901849231098601472/F13h9cit_400x400.jpg - bio: For those of you not quite familiar with Garann, she is has been building websites since 1996, and using JavaScript for most of that time (though not always for things that she's now proud of). Garann has spoken at a number of tech conferences and [wrote a book on Node.js](http://shop.oreilly.com/product/0636920023258.do). - email: - homepage: - twitter: garannm - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -It's hot.  We know. Why not come down to this month's meetup and learn some cool things from local front-end expert and O'Reilly published author, [Garann Means][1]! - -If you know much about the engineering side of Etsy, you're probably aware that they love their devtools there. [StatsD][4] is one of their better-known tools. It's an open source Node service that they use to collect statistics about how the site is working and being used. Garann will talk about the tool itself and about how it fits into Etsy's larger process. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][5]. - -[1]: http://twitter.com/garannm -[4]: https://github.com/etsy/statsd -[5]: http://twitter.com/joemccann diff --git a/_meetups/2012-08-21-meetup.md b/_meetups/2012-08-21-meetup.md deleted file mode 100644 index 5533009a..00000000 --- a/_meetups/2012-08-21-meetup.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: meetup -title: Components of the Google Closure Tools -author: jmccann -when: 2012-08-21T19:30:00-05:00 -video: https://youtu.be/WdbmfojihZM -speakers: - - name: David Tulig - title: Software Engineer at [Indeed.com](http://indeed.com) - avatar: https://pbs.twimg.com/profile_images/1545421094/twitter_400x400.jpg - bio: David has spent a majority of his time at Indeed helping to improve the front-end of Indeed’s products. His recent projects have included building Indeed’s resume editor and helping build and architect the resume search web application. - email: - homepage: - twitter: dtulig - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- -After last month's huge turnout for the meetup we are expecting yet another large turnout for local software developer and JavaScript aficionado, [David Tulig][1]. - -David's talk will start by going over the components of the Google Closure Tools. This will cover the templates, which are usable on both the client and server, the library, which comes with a dependency management system and a large set of utilities, and the compiler, which performs advanced optimizations to speed up your JavaScript and reduce the size of the final application. He'll then go into detail on how Indeed has leveraged those tools to build resume instant search, covering using the closure tools in development, discussing the architecture that drives the product, and the advantages gained by using the closure tools. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][3]. - -[1]: http://twitter.com/dtulig -[2]: http://indeed.com -[3]: http://twitter.com/joemccann diff --git a/_meetups/2012-09-18-meetup.md b/_meetups/2012-09-18-meetup.md deleted file mode 100644 index 28487142..00000000 --- a/_meetups/2012-09-18-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: Appcelerator's Titanium -author: jmccann -when: 2012-09-18T19:30:00-05:00 -speakers: - - name: Bert Granges - title: - avatar: https://pbs.twimg.com/profile_images/757572311935430656/mCdzLbMs_400x400.jpg - bio: Bert Grantges has been in software development for over 12 years working from client side driver development (eww!) to enterprise web apps, as well as mobile applications releasing successful games for iOS. Professionally– he has worked primarily in Telecom and Support Automation space, but has recently left the dark side to jump both feet into a more socially conscious Mobile platform space and is loving it. He has over 5 years of mobile development experience, both in pure native as well as Appcelerator Titanium. Un-Professionally – he continues to develop mobile applications, climb mountains, and crusade on behalf of bat conservation. - email: - homepage: - twitter: grantges - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - jmccann ---- - -[Appcelerator][1], the company behind the awesome mobile app development framework [Titanium][2], has been a long time supporter of Austin JS going back many years.  This month, we are treated to a special presentation (no, NOT a product pitch) by one of their key (and local!) developers, [Bert Granges][3], to talk about and show off the latest and greatest that Titanium has to offer. - -Ever wonder what it would be like to use JavaScript to build native applications for iOS and Android? Wouldn't it be nice if you could use one codebase for both platforms?  Using JavaScript, Appcelerator Titanium platform and Cloud Services, you'll walk through what it takes to build out a fully functional mobile application supported by backend services. Along the way you will learn how Appcelerator Titanium works and hopefully learn a bit about JavaScript along the way. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][4]. - -[1]: http://appcelerator.com -[2]: http://www.appcelerator.com/platform -[3]: http://twitter.com/grantges -[4]: http://twitter.com/joemccann diff --git a/_meetups/2012-10-16-meetup.md b/_meetups/2012-10-16-meetup.md deleted file mode 100644 index dbf80d55..00000000 --- a/_meetups/2012-10-16-meetup.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -layout: meetup -title: Writing Windows Store Apps with JavaScript -author: jmccann -when: 2012-10-16T19:30:00-05:00 -speakers: - - name: Johnathan Hebert - title: Lead JavaScript Developer at [Evernote](http://evernote.com) - avatar: https://pbs.twimg.com/profile_images/1058369374145245185/pXaFnCVT_400x400.jpg - bio: Johnathan Hebert ([@johnathanhebert](http://twitter.com/johnathanhebert)) is the lead JavaScript developer for [Evernote](http://evernote.com) in Austin.  He spends his days writing [Skitch](http://skitch.com) for Windows 8 and browsers, and loves to learn all the latest and greatest stuff that can be done with JavaScript. - email: - homepage: - twitter: johnathanhebert - github: - linkedin: -sponsor: - name: Rapid7 - url: https://www.rapid7.com/ - careerUrl: https://www.rapid7.com/careers/ - logo: https://cybersecurity-excellence-awards.com/wp-content/uploads/2016/02/377921-500x84.png -venue: frog -after: gingerman -organizers: - - jmccann ---- - -Post ACL weekend here in Austin, we will be having the last installment of Austin JS for 2012.  Sad Panda, indeed.  This month, we have another local JavaScript expert chatting up Windows 8! - -Jonathan Hebert's talk will be about writing Windows Store Apps with JavaScript, including: - -* How to use the Windows Runtime from JavaScript -* The WinJS libraries -* Async programming with promises -* Re-using your Windows Store App code in a browser -* Avoiding gotchas in the Windows Store App process - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][4].  Oh wait!  He Hebert's not gonna be there. Guess you Hebert'll have to heckle guest host, [@slexaxton][5]! - -[4]: http://twitter.com/joemccann -[5]: http://twitter.com/slexaxton diff --git a/_meetups/2012-11-19-meetup.md b/_meetups/2012-11-19-meetup.md deleted file mode 100644 index eacd7563..00000000 --- a/_meetups/2012-11-19-meetup.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: meetup -title: Austin JavaScript Thanksgiving.js 2012 -author: jmccann -when: 2012-11-19T19:30:00-05:00 -sponsor: - name: Rapid7 - url: https://www.rapid7.com/ - careerUrl: https://www.rapid7.com/careers/ - logo: https://cybersecurity-excellence-awards.com/wp-content/uploads/2016/02/377921-500x84.png - message: One of last month's meetup sponsors, [Rapid 7](https://www.rapid7.com/), is our exclusive sponsor for this event so be sure to thank them and say hello! -venue: gingerman -after: gingerman -organizers: - - jmccann ---- -Since the timing of the Thanksgiving holidays sadly interrupts Austin JavaScript's monthly meetup schedule, we decided to still get together instead of canceling the meetup entirely. - -Thanksgiving.js - -So come and join us for **free beer**, **free food** and an all around good time at our staple pub, [The Ginger Man][1].  This is purely a social event, but your JS skills may be tested so come prepared! - -[1]: http://aus.gingermanpub.com/ diff --git a/_meetups/2013-01-15-meetup.md b/_meetups/2013-01-15-meetup.md deleted file mode 100644 index 5b6a56c2..00000000 --- a/_meetups/2013-01-15-meetup.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: meetup -title: 'Mozilla: Cool New Browser Features' -author: asexton -when: 2013-01-15T19:30:00-06:00 -speakers: - - name: Luke Crouch - title: - avatar: https://pbs.twimg.com/profile_images/1085182415453138945/2IVEXY6a_400x400.jpg - bio: Luke Crouch has been dev'ing web for over 10 years — from web-based SCADA systems, to corporate intranet apps, to big websites like SourceForge.net and now Mozilla. He also caught the community bug and have been herding cats in Tulsa Web Devs for the last couple years. - email: - homepage: - twitter: groovecoder - github: - linkedin: - - name: David Walsh - title: - avatar: https://pbs.twimg.com/profile_images/931297372738482176/PPEGteJb_400x400.jpg - bio: | - David Walsh is a 29-year old web developer and software engineer from Madison, Wisconsin. In the web world, he is: - - * Web Developer and evangelist for Mozilla - * Technical author of David Walsh Blog and guest poster on several other sites - * Conference and Meetup speaker - * Core Developer for the MooTools JavaScript Framework - * Founder of Script &Style - * Founder of Wynq Web Labs - email: - homepage: - twitter: davidwalshblog - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - asexton ---- - -Let's ring in the new year with some new JavaScript Hotness. We've got two JavaScript pros flying in from Mozilla to go over some cool new browser features! - -Their talk will be about all the brand new stuff in the browser world. They describe it: - -> It is no secret that Mozilla has been pushing the boundaries of what the internet is capable of, and has been a fundamental force in evolving the web. This will be a whirlwind tour of exciting JavaScript API's that Mozilla is leading. -> -> They are going to cover a variety of things; Web SMS, Web Telephony, Battery API, Web Vibrator, Touch, Camera, The future of gaming, Mouse Lock, Gamepad API, Gladius.js, Mozilla Open Web apps and Identity/Browser Id. Afterwards there will be a Q & A session covering these topics. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][1]. Alternatively you can heckle new host, [@slexaxton][2]! - -[1]: http://twitter.com/joemccann -[2]: http://twitter.com/slexaxton diff --git a/_meetups/2013-02-19-meetup.md b/_meetups/2013-02-19-meetup.md deleted file mode 100644 index 2fd17c78..00000000 --- a/_meetups/2013-02-19-meetup.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: meetup -title: 'Reanimator: Capturing and Replaying JavaScript Applications' -author: asexton -when: 2013-02-19T19:30:00-06:00 -speakers: - - name: Lon Ingram - title: Lead Frontend Engineer at Waterfall Mobile - avatar: https://pbs.twimg.com/profile_images/970161690233864192/rztEhZFR_400x400.jpg - bio: Lon Ingram has been writing JavaScript for a living for over six years, and working exclusively on single-page apps for the last three. His personal and academic projects focus on the problem of building complex apps on the web stack, with a particular interest in applying results from systems research. - email: - homepage: - twitter: lawnsea - github: - linkedin: -sponsor: - name: IBM - url: https://ibm.com - careerUrl: - message: Thanks to our sponsor IBM. They're hiring developers! Check out the [Job Description](https://ibm.biz/BdxKRN)][4] and contact Jill (jorlich@us.ibm.com) to apply. -venue: frog -after: gingerman -organizers: - - asexton ---- - -February has enough days dedicated to love and romance, so we're dedicating our meetup to **bugs**. We've got local JavaScript free-thinker and theorist Lon Ingram joining us for a talk about bugs and bug reproduction (ewww gross). - -Lon will discuss the problem of reproducing and diagnosing bugs reported from the wild, and then present Reanimator, an experimental system for capturing and replaying JavaScript applications. Reanimator captures non-deterministic input to a JavaScript application in a log that can replayed at a later date. It was originally designed for recording web application crashes for later debugging, but Lon will also cover other uses, such as usability testing and tutorials. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@joemccann][1] or [@slexaxton][2]! - -Any questions or suggestions, please feel free to contact Alex ([@SlexAxton][5]).  Also, be sure to follow us on Twitter: [@AustinJS][6]. - -[1]: http://twitter.com/joemccann -[2]: http://twitter.com/slexaxton diff --git a/_meetups/2013-05-21-meetup.md b/_meetups/2013-05-21-meetup.md deleted file mode 100644 index 1b76a3f0..00000000 --- a/_meetups/2013-05-21-meetup.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: meetup -title: D3 and Data Visualizations -author: asexton -when: 2013-05-21T19:30:00-05:00 -speakers: - - name: Mark DiMarco - title: Senior UI Engineer at Bazaarvoice - avatar: https://media-exp1.licdn.com/dms/image/C4D03AQHLdVIJlNx0Zg/profile-displayphoto-shrink_200_200/0?e=1593043200&v=beta&t=5c1biN0jJkfc7nVsN8nxoD85cwvQchnwNDqfRI8rStQ - bio: Mark DiMarco spends time building out data visualizations with D3 and integrating them into common front-end architectures. He also recently released [DataMaps](http://datamaps.github.io), an easy to use library for data integration with maps. - email: - homepage: - twitter: markmarkoh - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - asexton - - tswicegood ---- - -We're back from SXSW and TXJS and ready to get back into action! This month we'll have local JavaScripter, [Mark DiMarco][1] talk about [D3.js][2] and Data Visualizations. - -Mark will give an intro to D3.js and data visualizations as well as some real world use cases for using these tools. Using an interactive programming style, he will navigate the ins and outs of simplifying data, manipulating it, and displaying it in a way that the end user can understand. He'll compare D3 to some other popular charting libraries and note the reasons when you'd pick one style of data visualizations over another. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@slexaxton][4] or this months fill-in host [@tswicegood][5]! - -[1]: http://twitter.com/markmarkoh -[2]: http://d3js.org/ diff --git a/_meetups/2013-06-18-meetup.md b/_meetups/2013-06-18-meetup.md deleted file mode 100644 index 426c8f1a..00000000 --- a/_meetups/2013-06-18-meetup.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: meetup -title: Writing Testable Code -author: asexton -when: 2013-06-18T19:30:00-05:00 -speakers: - - name: Rebecca Murphey - title: - avatar: https://pbs.twimg.com/profile_images/1259973234398769154/uNcYGdTr_400x400.jpg - bio: Rebecca Murphey is a JavaScript application developer and a frequent speaker on the topic of code organization and best practices at events around the world. She authored the learning site [jQuery Fundamentals](http://jqfundamentals.com/), contributed to the [jQuery Cookbook](http://shop.oreilly.com/product/9780596159788.do) from O’Reilly Media, served as a technical reviewer for David Herman’s [Effective JavaScript](http://effectivejs.com/), and created the [TXJS](http://texasjavascript.com/) conference. She has also created and contributed to several open-source projects. She was instrumental in getting [deferreds and promises](http://rmurphey.com/blog/2010/12/25/deferreds-coming-to-jquery/) introduced to jQuery 1.5; she created the [js-assessment](https://github.com/rmurphey/js-assessment) project, a test-driven tool for assessing a developer’s JavaScript skills; and she contributed key modules to the [Johnny Five](https://github.com/rwldrn/johnny-five) library for using JavaScript to interact with Arduinos. - email: - homepage: http://rmurphey.com - twitter: rmurphey - github: - linkedin: -sponsor: - name: XO Group - url: http://www.xogroupinc.com/ - logo: http://i.imgur.com/jbDSpyB.png - message: This month's awesome sponsor is the [XO Group, Inc](http://www.xogroupinc.com/). Be sure to thank them for the drinks and pizza, or talk to them about some [job opportunities](http://www.xogroupinc.com/the-knot-careers.aspx)! You can also email [Shaun](mailto:ssims@xogrp.com) if you are interested in working there. -venue: frog -after: gingerman -organizers: - - asexton ---- - -It's June. It's getting hot and we all need a little more JavaScript in our lives. Well, enjoy the air conditioned comfort of Austin JS on June 18th with a talk from JavaScript SuperStar Rebecca Murphey. - -It's one thing to write the code you need to write to get something working; it's another thing to write the code you need to write if you want to be able to prove that it works — and that it keeps working as you refactor and add new features. In this talk, we'll look at what it means to write testable JavaScript code. - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@slexaxton][9]! - -[9]: http://twitter.com/slexaxton diff --git a/_meetups/2013-07-16-meetup.md b/_meetups/2013-07-16-meetup.md deleted file mode 100644 index 6352dbce..00000000 --- a/_meetups/2013-07-16-meetup.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: meetup -title: Lightning Talks -author: asexton -when: 2013-07-16T19:30:00-05:00 -sponsor: - name: Waterfall Mobile - url: http://www.waterfallmobile.com/ - logo: http://f.cl.ly/items/0X2B0O0c0m0Q3x2R1k2C/waterfall.png -venue: frog -after: gingerman -organizers: - - asexton - - lingram ---- - -It's finally over 100 degrees with some consistency. It feels like home again. It must be July. Come celebrate our freedom at Austin JavaScript's first lightning talk meeting. - -Instead of having a traditional speaker, we're going to try a lightning talks meeting. We've discussed it with the a few of you and are excited to here everything you guys have to say. If it goes well, we'd like to have these 1 or 2 times a year, so please give feedback! - -## How it will work - -1. Show up to the meeting with a 5 minute (or so) demo of something that's useful to you in your work as a front-end engineer. This can be software, or patterns, or tools, or frameworks. In the past, just pulling up the website for a tool has been a totally easy way to have something to show without any slides to prep! (We encourage you to think about what you'll say though). -2. Get up at some point during the meeting and plugin your laptop (we should have a default laptop if you don't need/have one) and give this (very informal) presentation. -3. Watch everyone else share their best tips and tricks and tools! - -We anticipate everyone coming with something that they'd like to share, but if there is a lack of people who are volunteering, then multiple non-contiguous talks by the same person will be allowed. Hopefully we have too many for that to happen, though! - -Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@lawnsea][1]! - -[1]: http://twitter.com/lawnsea diff --git a/_meetups/2013-10-15-meetup.md b/_meetups/2013-10-15-meetup.md deleted file mode 100644 index d2c177b3..00000000 --- a/_meetups/2013-10-15-meetup.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: meetup -title: Tom Dale on Ember.js -author: asexton -when: 2013-10-15T19:30:00-05:00 -video: https://vimeo.com/77760308 -speakers: - - name: Tom Dale - title: - avatar: https://2015.texasjavascript.com/pixels/speaker-tom.jpg - bio: - email: - homepage: http://tomdale.net/ - twitter: tomdale - github: - linkedin: -sponsor: -venue: frog -after: gingerman -organizers: - - asexton ---- - -We hope your summers were eventful and full of fun, but it's time to get back into the groove. We're happy to partner up with the [EmberATX meetup][1] for a meetup of the centuries. [Tom Dale][2], co-creator of [Ember.js][3] will be visiting Austin to give a talk about Ember.js, the state of Ember 1.0, and the future of the framework. - -We're expecting a pretty full-house and only have limited space, **so we ask that you RSVP here: [Meetup.com EmberATX/AustinJS RSVP][4]** (slackers note: it should be open up 'til the moment the meetup starts, unless it fills up). - -AustinJS would like to thank the [@EmberATX][8] community for setting this up. We're happy to share our space with other awesome JavaScript communities in town! - -[1]: http://www.meetup.com/Ember-ATX -[2]: http://tomdale.net/ -[3]: http://emberjs.com -[4]: http://www.meetup.com/Ember-ATX/events/140780512/ -[8]: https://twitter.com/emberatx 'EmberATX on Twitter' diff --git a/_meetups/2013-11-19-meetup.md b/_meetups/2013-11-19-meetup.md deleted file mode 100644 index 5b605450..00000000 --- a/_meetups/2013-11-19-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: Kassandra Perch on Flight -author: astacy -when: 2013-11-19T19:30:00-05:00 -speakers: - - name: Kassandra Perch - title: - avatar: https://pbs.twimg.com/profile_images/495625495812124672/DMpIV0R9_400x400.jpeg - bio: Kassandra Perch is a developer, crafter, and gamer. She spends her days at [RetailMeNot](http://www.retailmenot.com), as a front-end dev trying to make workflows easier and more efficient. She is a completely unrepentant JavaScript addict, and is especially interested in hardware hacking and Node.JS. - email: - homepage: - twitter: kassandra_perch - github: - linkedin: -sponsor: - name: PayPal - url: https://www.paypal.com - careerUrl: http://jobs.ebaycareers.com/austin/user-experience/jobid4144667-mts-1-user-interface-engineer-paypal-jobs?ss=paid&&utm_source=JobSearchWidget&utm_medium=CareerSite&utm_campaign=TBWidgets - logo: https://www.paypalobjects.com/webstatic/mktg/logo/pp_cc_mark_111x69.jpg - note: You can also e-mail [Hudson Carlton](mailto:hcarlton@paypal.com) if you are interested in working there. -venue: frog -after: gingerman -organizers: - - astacy ---- - -Glad tidings, Austin JavaScripters, we bring you good news of our meetup this month! We're happy to welcome Kassandra Perch to throw down some knowledge on Twitter's framework, [Flight][1]. - -Her talk is titled "Flight: a Framework done right,” and we'll talk about how the framework is event-driven, component-based, and leverages the DOM to form a cohesive code structure. The concept of functional mixins will also be introduced, and how it is unique from other forms of class composition. Finally, we'll cover how all of these create a testable, scalable, friendly front-end code base. - -[1]: http://twitter.github.io/flight/ diff --git a/_meetups/2014-01-21-meetup.md b/_meetups/2014-01-21-meetup.md deleted file mode 100644 index 9732ac72..00000000 --- a/_meetups/2014-01-21-meetup.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: meetup -title: 'Release the Kraken: A Story of Node.js in the Enterprise' -author: astacy -when: 2014-01-21T19:30:00-06:00 -speakers: - - name: Jeff Harrell - title: Director of Engineering at PayPal - avatar: https://pbs.twimg.com/profile_images/1740791116/Headshot_400x400.jpg - bio: - email: - homepage: - twitter: juxtajeff - github: - linkedin: - - name: Erik Toth - title: Principal Software Engineer AT PayPal - avatar: https://pbs.twimg.com/profile_images/1444382597/astro-cat-200x200_400x400.png - bio: - email: - homepage: - twitter: eriktoth - github: - linkedin: -sponsor: retailmenot -venue: frog -after: gingerman -organizers: - - astacy ---- - -Happy New Year, Austin JavaScriptorians! Hopefully you're enjoying your 2014 SO MUCH you've already broken those pesky resolutions you made a couple of weeks ago. - -We're kicking the new year off with an exciting talk from our friends at PayPal called "Release the Kraken: A Story of Node.js in the Enterprise." Jeff Harrell and Erik Toth will tell us how PayPal revitalized its tech stack by moving from Java, JSP, and proprietary solutions to a Node.js web application stack with [dust.js][1] templating. Developer agility was the primary motivation, but along the way they had to take on enterprise culture and teach people that JavaScript is no longer a "toy," but a powerful tool to wield. We'll also take a look at PayPal's web app framework, [Kraken][2]. - -[1]: http://akdubya.github.io/dustjs/ -[2]: https://github.com/paypal/kraken-js diff --git a/_meetups/2014-02-18-meetup.md b/_meetups/2014-02-18-meetup.md deleted file mode 100644 index 1a733fd4..00000000 --- a/_meetups/2014-02-18-meetup.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: meetup -title: Refactoring Big Apps -author: astacy -when: 2015-08-18T19:30:00-05:00 -speakers: - - name: Garann Means - title: - avatar: https://pbs.twimg.com/profile_images/901849231098601472/F13h9cit_400x400.jpg - bio: Garann is a JavaScript and front-end developer. She writes about web technologies and communities on [her own blog](http://garann.com) as well as contributing articles to other technical publications, and is the author of "Node for Front-End Developers" from O'Reilly. She's taught classes on many of the same topics she writes about, and sometimes organizes events for other developers. - email: - homepage: http://garann.com - twitter: garannm - github: - linkedin: -sponsor: - name: Mass Relevance - url: http://www.massrelevance.com - careerUrl: http://www.massrelevance.com/about/careers - logo: https://cldup.com/hiDy3BLvwp-3000x3000.png - message: AustinJS is sponsored this month by [Mass Relevance](http://www.massrelevance.com/), so if you enjoy a slice of pizza or a drink at the meetup then be sure to thank them. Better yet, if you're a developer looking for a job, check out [careers at Mass Relevance](http://www.massrelevance.com/about/careers) or chat with one of their engineers at the meetup. -venue: massrelevance -after: gingerman -organizers: - - astacy ---- - -This month we'll be hearing from [Garann Means][1] about refactoring big apps! - -It would be nice if developers could download a JavaScript framework, plug in the custom logic required for their particular problem, and have a functional, scalable, and reliable application. As any who's tried can probably tell you, however, it doesn't work like that. It doesn't matter if your application has 5000 "pages" or less than 50 — it will eventually become a large application in terms of code, because size of code is not just a measure of the complexity of the app itself, but of its maturity. If you've tried taking an app from a minimal set of functionality to something complex enough to cover all the edge cases, you've probably done some rewriting. - -If you haven't, it's your lucky day! We'll talk about several of the ways you can almost guarantee a rewrite in your app's future. If, on the other hand, rewrites don't sound like that much fun to you, we'll also talk about how to avoid them or at least minimise the risk they present - -> IMPORTANT: Location changed to Mass Relevance at 8th and Brazos, just up the street. - -[1]: https://twitter.com/garannm diff --git a/_meetups/2014-04-15-meetup.md b/_meetups/2014-04-15-meetup.md deleted file mode 100644 index 9842a375..00000000 --- a/_meetups/2014-04-15-meetup.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -layout: meetup -title: The Power of M + Web Components -author: astacy -when: 2014-04-15T19:30:00-05:00 -speakers: - - name: Charles Lowell - title: - avatar: https://pbs.twimg.com/profile_images/1272369014/skull_guns_400x400.jpg - bio: Charles has been delivering bullet-proof software for over 18 years. An avid contributor to open source, he founded [the Frontside](http://frontside.io) in 2005 to help businesses deliver game-changing user interfaces to their customers. Also, he really, really, really, really likes to code. Really. - email: - homepage: - twitter: cowboyd - github: - linkedin: - - name: Rob Dodson - title: - avatar: https://pbs.twimg.com/profile_images/1031947699019427840/xl6p8ZBu_400x400.jpg - bio: - email: - homepage: - twitter: rob_dodson - github: - linkedin: -sponsor: - name: Four Kitchens - url: http://fourkitchens.com/ - careerUrl: http://fourkitchens.com/careers - logo: http://austinjavascript.com/wp-content/uploads/2014/04/four-kitchens-logo.png - message: AustinJS is sponsored this month by the web chefs over at [Four Kitchens](http://fourkitchens.com/). Be sure to let them know you appreciate their support, and if you’re a developer looking for a job, check out [careers at Four Kitchens](http://fourkitchens.com/careers) or chat with one of their engineers at the meetup. -venue: frog -after: gingerman -organizers: - - astacy ---- - -[Hold on to your butts][1], it's AustinJS time. Not only will we hear from local hero Charles Lowell ([@cowboyd][2]) about "The Power of M," but we're also hosting a special guest from Google that will tell us about the future of the web platform, web components! - -Whether you're using a full fledged MVC framework. or just spicing up your UX with a single special interaction, it's the "M" and only the "M" that is the key creating powerful user experiences. To demonstrate this principle in action, we'll first create an in-memory model of what a color is, and then use it to build an interactive 3D color chooser. Sound hard? Not when we harness the Power of M. In this talk, we'll track the building of an interactive, 3D color chooser that contains interactive visualizations of both the RGB Space (a cube), and the HSL Space (a cylinder). - -**BUT WAIT THERE'S MORE!** Web components are an important part of the future of the web, so when we heard that Rob Dodson ([@rob_dodson][4]) was going to be in town, we invited him to come tell us more about them. Rob is a Google developer advocate that specializes in this area, so we're looking forward to learning from him about web components and Google's polyfill/framework [Polymer][5]. - -[1]: http://butts.ytmnd.com/ -[2]: https://twitter.com/cowboyd -[3]: http://frontside.io -[4]: https://twitter.com/rob_dodson -[5]: http://www.polymer-project.org diff --git a/_meetups/2014-05-20-meetup.md b/_meetups/2014-05-20-meetup.md deleted file mode 100644 index b2c6ce4a..00000000 --- a/_meetups/2014-05-20-meetup.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: meetup -title: LESS + X11 Colors -author: astacy -when: 2014-05-20T19:30:00-05:00 -speakers: - - name: Steve Stedman - title: Lead Software Engineer at PayPal - avatar: https://avatars2.githubusercontent.com/u/183122?s=400&v=4 - bio: - email: - homepage: - twitter: stedman - github: stedman - linkedin: sstedman - - name: Alex Sexton - title: - avatar: https://web.archive.org/web/20161027003022im_/https://avatars1.githubusercontent.com/u/96554?v=3&s=400 - bio: - email: - homepage: - twitter: SlexAxton - github: - linkedin: -sponsor: - name: Hudl - url: http://www.hudl.com/ - careerUrl: http://www.hudl.com/jobs/ - logo: http://i.imgur.com/eMle6Je.png - message: Our sponsor this month is [Hudl](http://www.hudl.com/). Come tell them thanks for buying the pizza and drinks, and if you happen to be looking for a job, let them know in person or checkout their [open positions](http://www.hudl.com/jobs/)! -venue: frog -after: gingerman -organizers: - - astacy ---- - -We're back with another AustinJS! We'll be hearing a couple of talks again this month. First up, Steve Stedman ([@stedman][1]) will be doling out some knowledge on [LESS][2], a popular CSS preprocessor implemented in Javascript. Next Alex Sexton ([@SlexAxton][3]) will teach us about X11 colors (wha?!!??) and how they've impacted the web. - -[1]: https://twitter.com/stedman -[2]: http://lesscss.org -[3]: https://twitter.com/slexaxton diff --git a/_meetups/2014-06-17-meetup.md b/_meetups/2014-06-17-meetup.md deleted file mode 100644 index b1a2de46..00000000 --- a/_meetups/2014-06-17-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: Complexity Metrics and You -author: astacy -when: 2014-06-17T19:30:00-05:00 -speakers: - - name: Jared Stilwell - title: - avatar: https://pbs.twimg.com/profile_images/1142232911569195014/rvWvOpFB_400x400.jpg - bio: - email: - homepage: - twitter: meany_face - github: - linkedin: -sponsor: - name: HuBoard - url: https://huboard.com - careerUrl: - logo: http://i.imgur.com/0ldfRFe.png - message: Tonight our sponsor is an awesome startup from right here in Austin. [HuBoard](https://huboard.com) gives you instant project management built right on top of what you're already using for your project, GitHub. Check out their app online, and make sure to tell them thanks for covering the pizza and drinks this month! -venue: spredfast -after: gingerman -organizers: - - astacy ---- - -What up Austonians, it's Austin JS time again! Come join us at Spredfast (formerly Mass Relevance, **_note the location change_**) for another meetup. We'll hear from local web builder [Jared Stilwell][1] about "Complexity Metrics and You." What are complexity metrics? Great question! - -The code works. Your linter and test cases are happy. But, you feel the code could be cleaner. Where do you start? Complexity metrics can lead the way. Using a combination of measurement techniques, the process of finding rough edges in your codebase and tracking improvements becomes much easier. We'll cover several common metrics, the landscape of existing tools for JavaScript, and how they can be used to guide refactoring. - -[1]: https://twitter.com/meany_face diff --git a/_meetups/2014-07-15-meetup.md b/_meetups/2014-07-15-meetup.md deleted file mode 100644 index f6534f8b..00000000 --- a/_meetups/2014-07-15-meetup.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -layout: meetup -title: Lightning Talks -author: astacy -when: 2014-07-15T19:30:00-05:00 -speakers: - - name: Lon Ingram - avatar: https://pbs.twimg.com/profile_images/970161690233864192/rztEhZFR_400x400.jpg - twitter: lawnsea - - name: Kassandra Perch - avatar: https://pbs.twimg.com/profile_images/495625495812124672/DMpIV0R9_400x400.jpeg - twitter: kassandra_perch - - name: Elben Shira - avatar: https://pbs.twimg.com/profile_images/489409808479436800/Hv3ZWGDz_400x400.jpeg - twitter: ElbenShira - - name: Michael Mullins - avatar: https://pbs.twimg.com/profile_images/1149415245158453248/qbZBqz9c_400x400.png - twitter: WebDesserts - - name: Ashley Price - avatar: https://web.archive.org/web/20150802002243im_/http://0.gravatar.com/avatar/3402552c7e6b9e4237b22f5155c48ebd?s=70&d=identicon&r=G - twitter: ClassicallyGeek - - name: Patty Cifra - avatar: https://media-exp1.licdn.com/dms/image/C5603AQEXrNS3u-1Etw/profile-displayphoto-shrink_800_800/0?e=1593043200&v=beta&t=fKXKig9xuXWRXwMS8kR8qf5R-5nm4FeeRAnZPuJi1iI - twitter: pncifra - - name: Aaron Stacy - avatar: https://pbs.twimg.com/profile_images/3281266042/5069b845017701c465760d25ba54b83c_400x400.jpeg - twitter: aaronj1335 -sponsor: - name: The Bidding Network - url: http://www.thebiddingnetwork.com - careerUrl: mailto:mhc@texas.net - logo: - message: Big thanks to our sponsors this month, [The Bidding Network](http://www.thebiddingnetwork.com), a top-flight staffing firm based right here in Austin. If you enjoy the pizza and drinks, make sure to tell them thanks. And of course, if you're looking for a job you should [talk to them](mailto:mhc@texas.net). You won't find a better recruiter in Austin! -venue: frog -after: gingerman -organizers: - - astacy ---- - -Hey Austin Javascripters, this month's meetup is gonna bring that `~*~* variety *~*~`. Here are a few talks that we've got lined up already: - -* [@lawnsea][1]: TCP Trix -* [@kassandra_perch][2]: NodeBots -* [@elbenshira][3]: ClojureScript and Om -* [@WebDesserts][4]: chroma.js and color manipulation -* [@ClassicallyGeek][5] and [@pncifra][6]: Google Polymer and Web Components -* maybe [@aaronj1335][7] if there's time: If Underscore Was Written in ES6 - -We've still got some time though, so feel free to come with an idea, and we'll work everyone in! - -[1]: http://twitter.com/lawnsea -[2]: http://twitter.com/kassandra_perch -[3]: http://twitter.com/elbenshira -[4]: http://twitter.com/WebDesserts -[5]: http://twitter.com/ClassicallyGeek -[6]: http://twitter.com/pncifra -[7]: http://twitter.com/aaronj1335 diff --git a/_meetups/2014-08-26-meetup.md b/_meetups/2014-08-26-meetup.md deleted file mode 100644 index 49482ad6..00000000 --- a/_meetups/2014-08-26-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: Yield! How ES6 Generators and Monocle-js Can Bring Async Into Line, Literally -author: astacy -when: 2014-08-26T19:30:00-05:00 -speakers: - - name: Jonathan Lipps - title: - avatar: https://pbs.twimg.com/profile_images/1068010472333434880/9kSStezw_400x400.jpg - bio: Jonathan has been making things out of code as long as he can remember. He currently works as Director of Ecosystem and Integrations at Sauce Labs, leading a team of open source developers to improve the web and mobile testing ecosystem. Jonathan is the architect and project lead for Appium, the open-source, cross-platform mobile automation framework (written in Node). He has worked as a programmer in tech startups for over a decade, but is also passionate about academic discussion. - email: - homepage: - twitter: jlipps - github: - linkedin: -sponsor: - name: Joust - url: https://joust.com - careerUrl: mailto:philip@joust.com - logo: https://s3-us-west-1.amazonaws.com/static.joust.com/images/joust-logo-large-f3207597.png - message: We've got a lot of good folks to thank this month. Thanks to [Sauce Labs](https://saucelabs.com) for flying Jonathan out to do the talk. As always, thanks to [Frog](http://www.frogdesign.com/contact/austin.html) for hosting us. And last but not least thanks to our main sponsor, [Joust](https://joust.com), for drinks and food. Joust is a startup with a lot of momentum and several major customers like ESPN, ABC, and MTV. They're building a core team of engineers, so if you're interested, contact [Philip](mailto:philip@joust.com). -venue: frog -after: gingerman -organizers: - - astacy ---- - -Whatup jorbascrupmers. As promised we're going to be hearing about a shiny new feature coming in the next version of JavaScript — generators. - -[Jonathan Lipps][1] will give a talk titled _Yield! How ES6 Generators and Monocle-js Can Bring Async Into Line, Literally_, and will teach us how generators can save our souls from callback hell. - -[1]: https://twitter.com/jlipps diff --git a/_meetups/2014-09-16-meetup.md b/_meetups/2014-09-16-meetup.md deleted file mode 100644 index 888259c5..00000000 --- a/_meetups/2014-09-16-meetup.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: meetup -title: Testing JavaScript -author: astacy -when: 2014-09-16T19:30:00-05:00 -speakers: - - name: Dan Heberden - title: - avatar: https://pbs.twimg.com/profile_images/378800000040548639/75fb2d7b479691700780c20aceeeb3f6_400x400.jpeg - bio: - email: - homepage: - twitter: danheberden - github: - linkedin: -sponsor: - name: Help.com - url: http://help.com/ - careerUrl: http://help.com/jobs - logo: https://i.cloudup.com/Djt2NTL8eo-3000x3000.jpeg - message: | - Thanks to sponsors this month, [Help.com](http://help.com/), whose team of customer service and technology experts is setting out to build the next generation of customer service software. Their goal is to give companies the tools they need to delight their customers at enterprise scale. - - Help.com is a SaaS startup based in downtown Austin. They recently closed a $6 million seed round and growing their team is a top priority. Their team of experienced customer service and technology experts is excited to change the landscape of the industry and become one of the best places to work in Austin. If you're interested in joining them, talk to them at the meetup or take a look at [their job postings](http://help.com/jobs). -venue: frog -after: gingerman -organizers: - - astacy ---- - -Get ready for a blowout Austin JavaScripters, cause this month's meetup is going to be a choreography-fueled rager: - - - -This month's speaker is [Dan "Jazz HandsJazzHands" Heberden][1]: - -Dan's going to take you to school on testing Javascript. Get ready to be _SHOCKED AND AWED_. - -[1]: https://twitter.com/danheberden diff --git a/_meetups/2014-10-21-meetup.md b/_meetups/2014-10-21-meetup.md deleted file mode 100644 index 9ec72270..00000000 --- a/_meetups/2014-10-21-meetup.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: meetup -title: Building Mobile Apps with Cordova -author: astacy -when: 2014-10-21T19:30:00-05:00 -speakers: - - name: Dan DeFelippi - title: - avatar: https://pbs.twimg.com/profile_images/698980570265595906/twgFYIHA_400x400.jpg - bio: - email: - homepage: - twitter: expertdan - github: - linkedin: -sponsor: - name: Bazaar Voice - url: http://www.bazaarvoice.com/ - careerUrl: http://www.bazaarvoice.com/careers/ - logo: -venue: frog -after: gingerman -organizers: - - astacy ---- - -We've got another `~*super rad*~` meetup next Tuesday, October 21st. Local favorite [Dan DeFelippi][1] ([@expertdan][2]) is going to educate us on building mobile apps with [Cordova][3] (the open-source engine behind [PhoneGap][4]). Aside from being a proper geek and hacker, Dan is a co-founder of local bike rental and bike share app [Spokefly][5]. - -[1]: http://driverdan.com -[2]: https://twitter.com/expertdan -[3]: http://cordova.apache.org -[4]: http://phonegap.com -[5]: https://twitter.com/Spokefly diff --git a/_meetups/2015-01-20-meetup.md b/_meetups/2015-01-20-meetup.md deleted file mode 100644 index 4c1f17a9..00000000 --- a/_meetups/2015-01-20-meetup.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: meetup -title: Harrowing tales of running code on other people's sites -author: astacy -when: 2015-01-21T00:30:00.1Z -speakers: - - name: Rebecca Murphey - title: Staff Software Engineer at [Bazaarvoice](http://bazaarvoice.com) - avatar: https://pbs.twimg.com/profile_images/1259973234398769154/uNcYGdTr_400x400.jpg - bio: | - Rebecca Murphey leads a team that shepherds third-party JavaScript application development across the organization. She is a frequent speaker on the topic of code organization and best practices at various JavaScript conferences, including Front-End Ops Conf, the 2014 jQuery Conference in San Diego, JSConf US 2013, JSConf US 2011, JSConf EU 2010, Full Frontal 2012, Fronteers 2012, and many others. - - She lives in Austin, TX, with her partner, their son, and their dog. She blogs at [rmurphey.com](http://rmurphey.com). - email: - homepage: http://rmurphey.com - twitter: rmurphey - github: - linkedin: -sponsor: - name: Amazon - url: http://www.amazon.com/ - message: You may have heard of this Seattle based e-retailer, but you may *not* have heard that they're hiring for positions at their Austin office! If the idea of working on [the world's 6th largest website](http://www.alexa.com/siteinfo/amazon.com) is interesting to you, come talk to one of the Amazon folks at the meetup. You can also [apply online](http://www.amazon.com/gp/jobs/ref=j_sq_btn?jobSearchKeywords=&category=*&location=US,+TX,+Austin&x=28&y=11). -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -Hey happy New Year Austin! Let's celebrate by getting together and talking about 3rd party JavaScript. - -![aw snap third party js party][1] - -So who's gonna emcee this rager? None other than the venerable [Rebecca Murphey][2] ([@rmurphey][3]). Get ready to hear some harrowing-ass tales of running code on other people's sites, from one of the largest 3rd party JavaScript deployments out there. - -[1]: https://cldup.com/nWqk2nPq1S.gif -[2]: http://rmurphey.com -[3]: https://twitter.com/rmurphey diff --git a/_meetups/2015-04-21-meetup.md b/_meetups/2015-04-21-meetup.md deleted file mode 100644 index df674571..00000000 --- a/_meetups/2015-04-21-meetup.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: meetup -title: JavaScript Crypto -author: lingram -speakers: - - name: Tara Vancil - title: - avatar: https://pbs.twimg.com/profile_images/1192286962369146880/_kMgpzL3_400x400.jpg - bio: Tara is an independent front end developer who cares a lot about Internet freedom and building free and open-source tools that help users secure their online communications. She thinks the Axolotl ratchet protocol (used by TextSecure, Signal, and WhatsApp) is especially neat, and will gladly chat your ear off about it. - email: - homepage: - twitter: taravancil - github: - linkedin: -sponsor: - name: Bocoup - url: http://bocoup.com/ - logo: https://cldup.com/wN5OOPk9HR-3000x3000.png -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -Are you finally recovered from SXSW and ready. for. some. JavaScript?! Well, you're in luck: this Tuesday, Austin local [Tara Vancil](https://twitter.com/tbvancil) is giving us a clinic on JavaScript crypto. Please don't tell the NSA. - -Animated gif of Whistler from Sneakers - -The web hosts a large portion of the world's new cryptographic tools, and the debate about whether JavaScript is up to the challenge carries on. Tara will discuss how JavaScript plays an important role in developing some of the best crypto tools out there, explain some situations in which it just doesn't cut it, and show some examples of both. diff --git a/_meetups/2015-05-19-meetup.md b/_meetups/2015-05-19-meetup.md deleted file mode 100644 index 680505ef..00000000 --- a/_meetups/2015-05-19-meetup.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: meetup -title: "on('input'): Dealing With Data From Your User In Real-time" -author: astacy -when: 2015-05-19T19:30:00.1-05:00 -speakers: - - name: Charles Lowell - title: - avatar: https://pbs.twimg.com/profile_images/1272369014/skull_guns_400x400.jpg - bio: Charles has been delivering bullet-proof software for over 18 years. An avid contributor to open source, he founded [the Frontside](http://frontside.io) in 2005 to help businesses deliver game-changing user interfaces to their customers. Also, he really, really, really, really likes to code. Really. - email: - homepage: - twitter: cowboyd - github: - linkedin: -sponsor: - name: uShip - url: https://www.uship.com - logo: https://cldup.com/azYVnOOyFP-3000x3000.png -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -As the saying goes, "April showers bring May showers." They also bring you another JavaScript meetup! Local markup slinger [Charles Lowell][1] will be giving a talk titled "`on('input')`: dealing with data from your user in real-time… as in like forms, actually." - -![animated gif of what appears to be a honey badger dancing][2] - -Dealing with forms in a stateful UI can be a nightmare. While most of the major frameworks focus on their hot new rendering hotness, they uniformly pass the buck when it comes to handling user input. More often than not, you’re on your own, armed with nothing but callbacks when it comes to the complexities of wrangling networks of textfields, checkboxes and other custom components into robust, valid data structures that the rest of your app can use. In this talk, we’ll explore how to bring just a little more sanity to our forms by looking for help in an unlikely place: those same advances in rendering that have pushed the state of the art so far forward these past few years. - -[1]: https://twitter.com/cowboyd -[2]: https://cldup.com/uJyOXkshJR.gif 'awww yisss' diff --git a/_meetups/2015-06-16-meetup.md b/_meetups/2015-06-16-meetup.md deleted file mode 100644 index a912b867..00000000 --- a/_meetups/2015-06-16-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: Wrangling Transpilations -author: astacy -when: 2015-06-16T19:30:00-05:00 -speakers: - - name: Kyle Simpson - title: - avatar: https://avatars0.githubusercontent.com/u/150330?v=3&s=460 - bio: Kyle Simpson is an Open Web Evangelist from Austin, TX, who's passionate about all things JavaScript. He's an author, workshop trainer, tech speaker, and OSS contributor/leader. - email: - homepage: - twitter: getify - github: - linkedin: -sponsor: - name: Microsoft - url: https://microsoft.com - logo: http://mscorpnews.blob.core.windows.net/ncmedia/2014/10/MSFT_logo_rgb_C-Gray.png - message: "Microsoft BizSpark: supporting your startup as you grow" -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -Howdy, Texas. We're looking forward to seeing all of you fine vaqueras and vaqueros this Tuesday {{ when | date: '%B %e, %Y' }} as Kyle Simpson ([@getify][]) rustles up some knowledge on transpiling JavaScript. - -The new reality of JavaScript is that the features will evolve even quicker than the specification, and much quicker than your "supported" browsers. So we're going to have to come to grips with transpilers being a standard part of our build processes. But what can we do to wrangle at least two versions of every file? What does that mean for server-side coding (node/iojs) and what does it mean for browser-delivered files? Should we use the transpiled code everywhere, or should we have split delivery? - -[@getify]: https://twitter.com/getify diff --git a/_meetups/2015-07-21-meetup.md b/_meetups/2015-07-21-meetup.md deleted file mode 100644 index 7974ddff..00000000 --- a/_meetups/2015-07-21-meetup.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: meetup -title: JerseyScript.tx -author: lingram -when: 2015-07-21T19:30:00-05:00 -speakers: - - name: Jenn Schiffer - title: - avatar: https://cldup.com/KES3wVuWGB-3000x3000.png - bio: Jenn Schiffer entails sensual lizard feminist 69x engineer [@bocoup](https://twitter.com/bocoup), artist-in-residence [@nymediacenter](https://twitter.com/nymediacenter), tech satirist, git blame [http://vart.institute](http://vart.institute) & [http://make8bitart.com](http://make8bitart.com). - email: - homepage: - twitter: jennschiffer - github: - linkedin: - - name: Adam J. Sontag - title: - avatar: https://pbs.twimg.com/profile_images/3744028125/60fbc0df81a37742d851916c79003a0b.jpeg - bio: Adam J. Sontag is director of community [@bocoup](https://twitter.com/bocoup), dev rel lead [@jquery](https://twitter.com/jquery) foundation, jokes range from below lemon to sublime. - email: - homepage: - twitter: ajpiano - github: - linkedin: -sponsor: - name: Advisory Board - url: https://www.advisory.com/ - careerUrl: https://www.advisory.com/careers - logo: http://i.imgur.com/2HNye7a.png -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -Sup, y'all. We've got something special planned for our July meetup and we are _shore_ you're gonna think it's fresh to death. - -Here's [the Situation][the-situation]: AustinJS is going down the Shore! Jenn Schiffer is staging a blowout [JerseyScript][jerseyscript] bo-coup on {{ when | date: '%B %e, %Y' }}. Jenn has convinced New York's own Adam J. Sontag to come rap with us about a speech recognition game he is working on. - -[the-situation]: https://en.wikipedia.org/wiki/Michael_Sorrentino -[jerseyscript]: http://jerseyscript.github.io/ diff --git a/_meetups/2015-08-18-meetup.md b/_meetups/2015-08-18-meetup.md deleted file mode 100644 index bb45961c..00000000 --- a/_meetups/2015-08-18-meetup.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: meetup -title: Ember.js and Ember-CLI -author: astacy -when: 2015-08-18T19:30:00-05:00 -speakers: - - name: Iheanyi Ekechukwu - title: - avatar: https://avatars2.githubusercontent.com/u/956631?v=3&s=300 - bio: Iheanyi Ekechukwu is a Notre Dame alum, software engineer [@IBMWatson](https://twitter.com/ibmwatson), designer, EmberJS and Rails user, advocate for Blacks & Latinos in tech, and half of [@TwoBlackNerds](https://twitter.com/twoblacknerds). - email: - homepage: - twitter: kwuchu - github: - linkedin: -sponsor: retailmenot -venue: spredfast -after: gingerman -organizers: - - lingram - - astacy ---- - -
-We're not in our usual location! We'll be meeting at Spredfast this month in the Silicon Labs building, so please plan accordingly. -
- -Hey Austin JavaScripters, summer is in full swing and `{% raw %}{{ joke_about_how_ember_is_hot }}{% endraw %}`. We're excited to hear from [Iheanyi Ekechukwu][] as he tells us about "Ember.js, Ember-CLI, and how it all relates to that 'shut up and dance with me' song," (which we were actually [hoping to hear about][] last month). Hope to see you there this Tuesday, {{ when | date: '%B %e, %Y' }}. - -[iheanyi ekechukwu]: http://www.iheanyi.com/ -[hoping to hear about]: https://twitter.com/fivetanley/status/623620046338666497 diff --git a/_meetups/2015-09-15-meetup.md b/_meetups/2015-09-15-meetup.md deleted file mode 100644 index c9d2b8de..00000000 --- a/_meetups/2015-09-15-meetup.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: meetup -title: All-React Extravaganza -author: astacy -when: 2015-09-15T19:30:00-05:00 -speakers: - - name: Tim Tyrrell - title: - avatar: https://web.archive.org/web/20161104143523im_/https://pbs.twimg.com/profile_images/625417581613060096/EfSI3lzo.jpg - bio: javascript, ruby, vim, tmux, tacos, lulz. Web Client Team Lead working on healthcare price transparency. - email: - homepage: - twitter: timtyrrell - github: - linkedin: - - name: Travis Swicegood - title: Campus Director [@TheIronYard](https://twitter.com/theironyard) in ATX - avatar: https://web.archive.org/web/20161104143527im_/https://pbs.twimg.com/profile_images/632313633767223296/I5v3bdj3.jpg - bio: Food whisperer. Digital polyglot. Professional instigator. Maker of trouble. Too opinionated for my own good. - email: - homepage: - twitter: tswicegood - github: - linkedin: -sponsor: - name: Main Street Hub - url: http://www.mainstreethub.com/ - logo: https://prnewswire2-a.akamaihd.net/p/1893751/sp/189375100/thumbnail/entry_id/1_88euymt0/def_height/552/def_width/1054//q/100 -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -Webster's Dictionary [defines "extravaganza" as][extravaganza]: - -> a very large and exciting show or event - -And nothing says exciting like JavaScript frameworksssssss! - - - -Ok, calm down for a second so I can tell you what's going on here. [Tim Tyrrell][] and [Travis Swicegood][] are going to tell us about ReactJS, Flux, and that sort of stuff. Tim will kick it off live-coding with React, and then Travis will give a whirlwind tour of Flux and how it fits into the ecosystem we all love. - -We won't dive too deep since we haven't covered React at AustinJS yet, but stay tuned for news about a new meetup you might be into! - -[extravaganza]: http://www.merriam-webster.com/dictionary/suggestions/sharknado -[tim tyrrell]: https://twitter.com/timtyrrell -[travis swicegood]: https://twitter.com/tswicegood diff --git a/_meetups/2015-10-20-meetup.md b/_meetups/2015-10-20-meetup.md deleted file mode 100644 index cdba3d78..00000000 --- a/_meetups/2015-10-20-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: Node 4, huh yeah, what is it good for? -author: lingram -when: 2015-10-20T19:30:00-05:00 -speakers: - - name: Joe McCann - title: - avatar: https://web.archive.org/web/20161104143519im_/https://pbs.twimg.com/profile_images/646310956142751748/QEDs8WtN.jpg - bio: Founder, [@austinjs](https://twitter.com/austinjs). Cofounder, CEO [@nodesource](https://twitter.com/nodesource). Rave Promoter. - email: - homepage: - twitter: joemccann - github: - linkedin: -sponsor: - name: ReIntent - url: https://www.reintent.com - logo: http://i.imgur.com/KGcOGrJ.png -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -For our final meetup of 2k15 we have a very special guest: [Joe McCann][], founder of AustinJS and [NodeSource][], is going to talk about this [Node.js][] thing we've heard so much about. Node recently went straight from 0.12 to 4.0, meaning it is 33.3X more Enterprise Ready™®©℠ than competing platforms. Joe will tell us everything we need to know to scale Node out the front door and into the cloud. - -[fixme]: http://www.badgerbadgerbadger.com/ -[joe mccann]: https://twitter.com/joemccann -[nodesource]: https://nodesource.com/ -[node.js]: https://iojs.org/en/ diff --git a/_meetups/2016-01-19-meetup.md b/_meetups/2016-01-19-meetup.md deleted file mode 100644 index d0fa240d..00000000 --- a/_meetups/2016-01-19-meetup.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: meetup -title: Alex Sexton talks about client-side "security" -author: astacy -when: 2016-01-19T19:30:00-06:00 -speakers: - - name: Alex Sexton - title: - avatar: https://web.archive.org/web/20161027003022im_/https://avatars1.githubusercontent.com/u/96554?v=3&s=400 - bio: Alex Sexton is no less than the Official Apple-Flavored Hi-Chew Brand Ambassador. If he ever runs for office, this post was fake. - email: - homepage: - twitter: slexaxton - github: slexaxton - linkedin: -sponsor: - name: The Iron Yard - url: https://www.theironyard.com - logo: https://pbs.twimg.com/profile_images/552955646346145793/DKlUDGsR_400x400.png -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -🎉🎆 Happy New Year 🎆🎉 Hopefully 2016 finds all of you well, and hopefully you'll **_RESOLLLLVVVVE_** to make it out to AustinJS next week to hear Alex Sexton talk about "almost definitely client side security." We're pretty certain that means his three-hour deep dive on whether [Rey is a Kenobi](http://wil.to/_/whatno.gif) (hey as long as it's not [politics](https://twitter.com/slexaxton/status/419373720080105472), [religion](https://alexsexton.com/blog/2015/02/the-15-commandments-of-front-end-performance/), or [sex](https://twitter.com/SlexAxton/status/685163843564093440) right). diff --git a/_meetups/2016-02-16-meetup.md b/_meetups/2016-02-16-meetup.md deleted file mode 100644 index 2a74b2b5..00000000 --- a/_meetups/2016-02-16-meetup.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: meetup -title: Bringing Open-Source Practices to Your Day Job -author: astacy -when: 2016-02-16T19:30:00-06:00 -speakers: - - name: Benjamin Coe - title: - avatar: https://avatars1.githubusercontent.com/u/194609?v=3&s=400 - bio: Benjamin Coe was [npm](https://www.npmjs.com/)’s third employee and currently leads [npm On-Site](https://www.npmjs.com/onsite), npm’s registry product for enterprises. Ben is a core contributor to [yargs](https://www.npmjs.com/package/yargs), [node-redis](https://github.com/NodeRedis/node_redis), and [nyc](https://www.npmjs.com/package/nyc); is passionate about open-source-software; and loves working to bring these best practices to the enterprise. - email: - homepage: - twitter: BenjaminCoe - github: - linkedin: -sponsor: - name: IBM Design - url: http://www.ibm.com/design/ - logo: https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/IBM_logo.svg/2000px-IBM_logo.svg.png -venue: spredfast -after: gingerman -organizers: - - lingram - - astacy ---- - -> **We're not in our usual location!**: We'll be meeting at Spredfast this month in the Silicon Labs Building on Colorado/Cesar Chavez ([map](https://www.google.com/maps/place/200+W+Cesar+Chavez+St,+Austin,+TX+78701/@30.2642656,-97.7470567,18z/data=!3m1!4b1!4m2!3m1!1s0x8644b50602c5b57d:0x4c4d44de892b1d04)). - -Hey everyone, we're excited about {{ when | date: '%B %e, %Y' }} because Benjamin Coe is going to come talk about _{{ title }}_. - -We've got food and beverages this month thanks to **Front End Development at IBM**. If you'd like to hear more about what they're working on, feel free to reach out to frontend@us.ibm.com or check out the [Feducation event they're doing with General Assembly](https://generalassemb.ly/education/ga-fedibm-design-present-the-importance-of-a-pattern-library/austin/21730). diff --git a/_meetups/2016-04-19-meetup.md b/_meetups/2016-04-19-meetup.md deleted file mode 100644 index e1f64a86..00000000 --- a/_meetups/2016-04-19-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: Anton Astashov and Elm -author: astacy -when: 2016-04-19T19:30:00-05:00 -speakers: - - name: Anton Astashov - title: - avatar: https://avatars3.githubusercontent.com/u/12795?v=3&s=400 - bio: Anton is [a real-deal code slinger](https://github.com/anton_astashov) based in Austin and currently working at [Mixbook.com](http://www.mixbook.com). - email: - homepage: - twitter: anton_astashov - github: astashov - linkedin: -sponsor: - name: Auth0 - url: https://auth0.com/ - logo: https://cdn.auth0.com/website/press/resources/auth0-logo-light.svg -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -It's April, so let's shake off our collective SXSW hangovers 🍻 (or maybe emerge from our SXSW bunkers ☢️) and get together on {{ when | date: '%B %e, %Y' }} for another great AustinJS! - -We'll be hearing from Anton Astashov about [Elm](http://elm-lang.org/), a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. He'll cover why it’s cool, what it looks like, it’s pros and (most importantly) cons! diff --git a/_meetups/2016-05-17-meetup.md b/_meetups/2016-05-17-meetup.md deleted file mode 100644 index c9845164..00000000 --- a/_meetups/2016-05-17-meetup.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: meetup -title: Making Browsers Compatible with Web JavaScript -author: astacy -when: 2016-05-17T19:30:00-05:00 -speakers: - - name: Mike Taylor - title: Web Compatibility Engineer at Mozilla - avatar: https://avatars1.githubusercontent.com/u/67283 - bio: Mike works from home in Austin, TX. Once upon a time he worked at Opera Software as a Web Opener, whatever that means. - email: - homepage: - twitter: miketaylr - github: - linkedin: -sponsor: - name: HomeAway - url: https://www.homeaway.com/ - careerUrl: https://www.homeaway.com/info/about-us/careers-1/career-opportunities - logo: https://upload.wikimedia.org/wikipedia/en/thumb/c/c3/HomeAway_Logo.svg/250px-HomeAway_Logo.svg.png -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -This month we've got [dark web expert](https://miketaylr.com/posts/2016/04/string-prototype-contains-use-your-own-judgement.html) and [Gotye fan](https://miketaylr.com/posts/2016/02/dispatching-magical-webkit-prefixed-events.html) [Miike Mike Snow Taylor]({{ twiturl }}) in to discuss the nuances of writing JavaScript that actually works in world-wide web browsing machines. Come out and join us next Tuesday {{ when | date: '%B %e, %Y' }}! diff --git a/_meetups/2016-06-21-meetup.md b/_meetups/2016-06-21-meetup.md deleted file mode 100644 index 06fb7c31..00000000 --- a/_meetups/2016-06-21-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: Making It Better Without Making It Over -author: astacy -when: 2016-06-21T19:30:00-05:00 -speakers: - - name: Rebecca Murphey - title: Software Engineer at Indeed - avatar: https://avatars1.githubusercontent.com/u/58987 - bio: Rebecca leads efforts to evangelize, standardize, and implement front-end best practices across the applications that power the world’s number one job search site. or something. - email: - homepage: - twitter: rmurphey - github: - linkedin: -sponsor: cloudflare -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -This month we've got veteran frontend engineer Rebecca Murphey, who will share the story of how she started a new job this year by paying a visit to JavaScript circa 2009, back when Ryan Dahl was getting ready to announce Node and Facebook was still four years away from being mocked for the apparent heresy of JSX. She'll explain how she modernized and best-practice-ified a project that didn't even have a package.json, smoothing the development process, eliminating common sources of bugs, paving the way for bigger improvements, and never once uttering the words "we oughta just start from scratch." Come out and join us next Tuesday {{ when | date: '%B %e, %Y' }}! diff --git a/_meetups/2016-07-19-meetup.md b/_meetups/2016-07-19-meetup.md deleted file mode 100644 index aedce19e..00000000 --- a/_meetups/2016-07-19-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: Browser vendors hate him! -author: astacy -when: 2016-07-19T19:30:00-05:00 -speakers: - - name: Andrew Dupont - title: - avatar: https://pbs.twimg.com/profile_images/805831994563174400/K2BJKc0j_400x400.jpg - bio: Andrew spends his days `git blame`'ing lines of code written by [@aaronforsander](https://twitter.com/aaronforsander) and [@SlexAxton](https://twitter.com/slexaxton). - email: - homepage: - twitter: andrewdupont - github: - linkedin: -sponsor: retailmenot -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - -This Tuesday, {{ when | date: '%B %e, %Y' }}, discover how this one weird extension **_changed the web forever_**. Andrew Dupont will give us a 12 year perspective (most of a century in internet years) on the ways GreaseMonkey shaped today's browsers and how user scripts give us the opportunity of a better web. diff --git a/_meetups/2016-08-16-meetup.md b/_meetups/2016-08-16-meetup.md deleted file mode 100644 index 67c9093a..00000000 --- a/_meetups/2016-08-16-meetup.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -layout: meetup -title: PWA's and TLA's, but definitely not SPA's -author: astacy -when: 2016-08-16T19:30:00-05:00 -slides: https://speakerdeck.com/davatron5000/progressive-web-apps -speakers: - - name: Dave Rupert - title: - avatar: https://daverupert.com/images/about/daverupert.jpg - bio: Dave is not committing atrocities like [saying nice things about IE](http://daverupert.com/2016/06/dave-goes-build/#edge) and [artisanally hand-crafting locally-owned-and-sourced social networks](https://www.godaytrip.com), he's [fighting the good fight against device monoculture](http://daverupert.com/2015/04/davegoeswindows/) and [teaching empathy](http://daverupert.com/2016/08/hidden-expectations/#empathy) to our cold digital hearts. - email: - homepage: http://daverupert.com - twitter: davatron5000 - github: davatron5000 - linkedin: -sponsor: - name: NodeSource - url: https://www.nodesource.com/ - careerUrl: https://www.nodesource.com/careers -venue: frog -after: gingerman -organizers: - - lingram - - astacy ---- - - - - - -Come out next Tuesday, {{ when | date: '%B %e, %Y' }}, as Dave Rupert tells us how to make the mobile web great again make Progressive Web Apps! diff --git a/_meetups/2016-09-20-meetup.md b/_meetups/2016-09-20-meetup.md deleted file mode 100644 index 34c5f361..00000000 --- a/_meetups/2016-09-20-meetup.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: meetup -title: JavaScript in the Ivory Tower -author: astacy -when: 2016-09-20T19:30:00-05:00 -speakers: - - name: Lon Ingram - title: Principle UI Engineer at [RetailMeNot](https://www.retailmenot.com) - avatar: https://pbs.twimg.com/profile_images/970161690233864192/rztEhZFR_400x400.jpg - bio: Lon Ingram, **dad to the internet**, is a Principledal UI Engineer at [RetailMeNot](https://www.retailmenot.com). He is fascinated with applying ideas from systems research to the challenge of building cool complicated things on the web. - email: - homepage: - twitter: lawnsea - github: - linkedin: -sponsor: - name: Becker Wright Consultants - url: http://beckerwrightconsultants.com -venue: spredfast -after: gingerman -organizers: - - lingram - - astacy ---- - -It may still be hot in ATX, but summer is [over](http://i.imgur.com/9XjBUoD.gifv), so our very own Lon Ingram is gonna _take us back to school_ and tell us about JavaScript in the Ivory Tower. We'll cover some great papers about JavaScript, and go beyond that to discuss how to find good research and read those super long intimidating papers. diff --git a/_meetups/2016-10-18-meetup.md b/_meetups/2016-10-18-meetup.md deleted file mode 100644 index 8d32efca..00000000 --- a/_meetups/2016-10-18-meetup.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: meetup -title: Austin on AustinATX -author: astacy -when: 2016-10-18T19:00:00-05:00 -speakers: - - name: Yehuda Katz - title: - avatar: https://avatars0.githubusercontent.com/u/4?s=460&v=4 - bio: - email: - homepage: http://yehudakatz.com/ - twitter: wycats - github: wycats - linkedin: -sponsor: -venue: techspace -after: -organizers: - - lingram - - astacy ---- - -> **We're not in our usual location!**: We'll be meeting at [TechSpace Austin](https://www.techspace.com/spaces/austin/cbd/) this month ([map](http://maps.google.com/?q=98%20San%20Jacinto%20Blvd.%20Austin,%20TX,%2078701)). - -We've got a special meetup tonight! [Austin on Rails](http://www.austinonrails.org/), AustinJS, and [EmberATX](http://www.meetup.com/Ember-ATX/) are teaming up to bring [Yehuda Katz](http://yehudakatz.com/) to town. Yehuda will tell us about "Ember, Now and Next," and then we'll have a Fireside Chat. Register and find out more on the event page: - -
- Go to the Event Page → -
- -Looking forward to seeing you there! diff --git a/_meetups/2016-11-15-meetup.md b/_meetups/2016-11-15-meetup.md deleted file mode 100644 index 39642f8b..00000000 --- a/_meetups/2016-11-15-meetup.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: meetup -title: Data-driven Front-end Development -author: astacy -when: 2016-11-15T19:30:00-06:00 -speakers: - - name: Jon Loyens - title: Chief Product Officer at [data.world](http://data.world) - avatar: https://cdn.filepicker.io/api/file/WNMEjUlFRFedFlZU9QzY - bio: Jon is an ex-BVer, Python and JS nut, Austinite, Canadian, Midgetman, Tennis Player, and Geek. - email: - homepage: https://data.world/jonloyens - twitter: jonloyens - github: - linkedin: -sponsor: frog -venue: spredfast -after: -organizers: - - lingram - - astacy ---- - -Hey happy Veteran's Day and Marine Corps Birthday! AustinJS is going to get together Tuesday {{ when | date: '%B %e, %Y' }} to hear from Jon Loyens about data-driven front end development `~⭐️for the troops⭐️~` - -In his own words: - -Much has been made of Lean Startups, A/B testing and building data driven cultures. In order to be data-driven you need to have a culture of instrumentation and measurement, but building out the pipelines, client side instrumentation and an analytics warehouse from the ground up can be tedious, hard and time-consuming. - -To address this problem, I’ll share a roadmap to successfully evolving a web analytics pipeline that starts by leveraging third party and open source tools for speed and time to market, but is still robust enough to evolve to owning your own warehouse. For context, I’ll walk through my experiences of introducing A/B testing and building out web analytics integrations at Bazaarvoice, expanding HomeAway’s A/B testing program to nearly 1000 tests a year, and now helping to architect data.world’s analytics pipeline. - -* Do’s and Don’ts for front-end instrumentation: - * Do use exception track (Sentry) as well as event tracking - * Don’t use a general purpose tag manager - * Do leverage third party tools along the way - * Do plan to own your analytics stack eventually - * Don’t give away all your data - * Don’t believe the ‘one line of JS’ hype/No silver bullet - * Do provide a way for your business team to experiment with tooling - * Do be explicit - * Do keep allocation and bucketing in mind -* Tracking all the things vs. tracking the important things -* How our front end tech stack enables all this diff --git a/_meetups/2017-01-17-meetup.md b/_meetups/2017-01-17-meetup.md deleted file mode 100644 index d0df69de..00000000 --- a/_meetups/2017-01-17-meetup.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: meetup -title: Making old electronics new again ...with JavaScript! -author: astacy -when: 2017-01-17T19:30:00-06:00 -speakers: - - name: Rachel Weil - title: - avatar: https://avatars0.githubusercontent.com/u/9647195?s=400&u=b47db267381d012f8d58985f8a67b1309602dab5 - bio: Rachel is an experimental designer and video-game historian who hacks electronic artifacts to create alternate, cuter visions of computer and video game history. She currently works as a technical evangelist at Microsoft. In addition, she heads up [FEMICOM](http://www.femicom.org/) Museum and helps run numerous indie game events in Austin, including [Fantastic Arcade](http://www.fantasticarcade.com/), [Juegos Rancheros](http://www.juegosrancheros.com/), and [Arcade of Anything](http://juegosrancheros.com/residencies/). - email: - homepage: http://nobadmemories.com - twitter: partytimeHXLNT - github: - linkedin: -sponsor: - name: data.world - url: https://data.world - careerUrl: https://data-world.breezy.hr/ - location: N, 7000 Mopac Service Rd \#425, Austin, TX 78731 -venue: spredfast -after: gingerman -organizers: - - lingram - - astacy ---- - -Happy New Year everyone! Here's to fresh start. We're kicking the year off in style with a great talk from Rachel Weil! - -Rachel will share a selection of personal projects that bring vintage electronics into the 21st century with Node.js and hobbyist microcontrollers. She’ll also cover some of the basic tools and approaches to getting started with refurbishing, refitting, and reworking old game consoles, computers, and digital toys. - -Rachel's Ballie Bear Video Arcade installation - -In other big news, Spredfast is now the official location for AustinJS! The Spredfast team has always been kind to share their `~*luxurious*~` downtown space with us, so we look forward to making more memories going forward. Thanks Spredfast! diff --git a/_meetups/2017-02-21-meetup.md b/_meetups/2017-02-21-meetup.md deleted file mode 100644 index ecd0ac34..00000000 --- a/_meetups/2017-02-21-meetup.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: meetup -title: Anton Astashov on immutability -author: astacy -when: 2017-02-21T19:30:00-06:00 -speakers: - - name: Anton Astashov - title: - avatar: https://avatars3.githubusercontent.com/u/12795?v=3&s=400 - bio: Anton is [a real-deal code slinger](https://github.com/anton_astashov) based in Austin and currently working at [Mixbook.com](http://www.mixbook.com). - email: - homepage: - twitter: anton_astashov - github: astashov - linkedin: -sponsor: mozilla -venue: cloudflare -after: gingerman -organizers: - - lingram - - astacy ---- - -What are immutable data structures? Why would you want to prevent objects from changing? Why not just `Object.freeze()`? - -These are great questions for smart people, so you should come listen to Anton talk about what he'd like to see change in the world of immutable JavaScript (you… you see what I did there?). diff --git a/_meetups/2017-03-21-meetup.md b/_meetups/2017-03-21-meetup.md deleted file mode 100644 index fb8dfd7e..00000000 --- a/_meetups/2017-03-21-meetup.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: meetup -title: Intro to WebAssembly -author: astacy -when: 2017-03-21T19:30:00-05:00 -speakers: - - name: Lin Clark - title: - avatar: https://pbs.twimg.com/profile_images/497876628651782146/hrCHz_ym.jpeg - bio: Lin is a code cartoonist. She takes software concepts and architectures and turns them into stick figure cartoons. She also works in Mozilla's Emerging Technologies group, where she gets to tinker with new browser technologies like WebAssembly. In previous lives, she worked at npm, was a core contributor to open source projects like Firefox's developer tools, and contributed to HTML data standards. - email: - homepage: - twitter: linclark - github: - linkedin: - - name: Luke Wagner - title: - avatar: https://pbs.twimg.com/profile_images/610538287346769921/Htfyxvxg.png - bio: Luke is a software engineer working on SpiderMonkey, Firefox's JavaScript — and now WebAssembly! — engine. - email: - homepage: - twitter: luke_wagner - github: - linkedin: -sponsor: retailmenot -venue: spredfast -after: gingerman -organizers: - - lingram - - astacy ---- - -WebAssembly is fast. It’s being called “the future of the web”. Its speed and potential have major browser vendors working together to make it a reality. And it’s on its way — the MVP hit multiple browsers in October of last year. - -But what makes it fast? Starting from the basics, this talk will walk you through what WebAssembly is, and then why it’s fast. - -Get your burning questions ready! We'll have some super special swag for the best questions. - -

- Make sure to do Mozilla a solid and [RSVP at their meetup page](https://www.meetup.com/Mozilla-Developer-Roadshow/events/237760047/)! -

diff --git a/_meetups/2017-04-18-meetup.md b/_meetups/2017-04-18-meetup.md deleted file mode 100644 index 888c0c87..00000000 --- a/_meetups/2017-04-18-meetup.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: meetup -title: Chuck always wins -author: astacy -when: 2017-04-18T19:30:00-05:00 -speakers: - - name: Mark Sims - title: Architect at [@projekt202](https://twitter.com/projekt202) - avatar: https://pbs.twimg.com/profile_images/677995731974656001/Jzi_AbRc.jpg - bio: Mark hails from Irving, Texas. He's an architect at [@projekt202](https://twitter.com/projekt202), and when he's not judiciously driving for a high level of quality in his JavaScript based applications, you might find him dad'ing, playing guitar, or woodworking. - email: - homepage: - twitter: markedwardsims - github: - linkedin: -sponsor: -venue: spredfast -after: gingerman -organizers: - - lingram - - astacy ---- - -What up team we got a meetup tonight! Tonight we're going to talk about testing your code. We figured it's been [almost 6 years](/june-meetup-details-announced/) since we last talked about TDD, which means the ecosystem has been through ~11 different testing frameworks, so we might as well get back into the subject since QUALITY IS EVERYONE'S JOB ZERO. - -[Mark Sims](https://twitter.com/markedwardsims) is coming to town to tell us about his experiences with testing and walk us through testing an app called Deathmatch that needs to be sure _Chuck always wins_. diff --git a/_meetups/2017-06-20-meetup.md b/_meetups/2017-06-20-meetup.md deleted file mode 100644 index 84ff04f9..00000000 --- a/_meetups/2017-06-20-meetup.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: meetup -title: Meep! AustinJS is BACK! Meep Meep! -author: lingram -when: 2017-06-20T19:30:00-05:00 -speakers: - - name: Tara Vancil - title: - avatar: https://pbs.twimg.com/profile_images/1192286962369146880/_kMgpzL3_400x400.jpg - bio: Tara helps build [Beaker](https://beakerbrowser.com/), a browser for the peer-to-peer Web. She’s enthusiastic about decentralizing the Web, and thinks that peer-to-peer protocols will reinvigorate the creativity of the Web’s early days. - email: - homepage: - twitter: taravancil - github: - linkedin: - - name: Paul Frazee - title: - avatar: https://pbs.twimg.com/profile_images/1234611810281689089/Yz3W7Ur5_400x400.jpg - bio: Paul works on [Beaker](https://beakerbrowser.com/), and is also very enthusiastic about a decentralized Web. He lives in Austin, TX. - email: - homepage: - twitter: pfrazee - github: - linkedin: -sponsor: -venue: spredfast -after: gingerman -organizers: - - lingram - - astacy ---- - -Here come dat beaker! - -Beaker - -Hey friends! AustinJS is back with an exciting dual talk from Austin's own [Tara Vancil](https://twitter.com/taravancil) and [Paul Frazee](https://twitter.com/pfrazee) about their project, [Beaker Browser][beaker], an experimental web browser with builtin hosting and p2p web protocols. diff --git a/_meetups/2017-07-18-meetup.md b/_meetups/2017-07-18-meetup.md deleted file mode 100644 index c75664eb..00000000 --- a/_meetups/2017-07-18-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: Perfecting Perf -author: astacy -when: 2017-07-18T19:30:00-05:00 -speakers: - - name: Lon Ingram - title: - avatar: https://pbs.twimg.com/profile_images/970161690233864192/rztEhZFR_400x400.jpg - bio: Lon is a purveyor of dubious programming language meetups (both the languages and the meetups themselves being of a dubious nature). - email: - homepage: - twitter: lawnsea - github: - linkedin: -sponsor: -venue: spredfast -after: gingerman -organizers: - - lingram - - rmurphey - - astacy ---- - -It's too hot for hair out there, so we've asked Lon Ingram to come talk to us about making websites fast as ⚡ (kung fu fighting, etc). Join us Tuesday {{ when | date: '%B %e, %Y' }} and learn what it takes to appease our search engine overlords! - -## Talk summary - -With the rise of the mobile web, speed has become crucial to success. Users won't wait around for slow-loading pages and search engines are now punishing sluggish sites. There's a wealth of ideas out there for cranking up performance, but how do you know where to start? What if you work for days to ship an optimization that doesn't really pay off? In this talk, you'll learn how to experiment and fail fast. You'll find out how to quickly and rigorously assess your optimization ideas with open source tools, and how to share your results so that others can replicate your findings. diff --git a/_meetups/2017-08-15-meetup.md b/_meetups/2017-08-15-meetup.md deleted file mode 100644 index c459391a..00000000 --- a/_meetups/2017-08-15-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: Babble? Baebull? -author: lingram -when: 2017-08-15T19:30:00-05:00 -speakers: - - name: Andrew Levine - title: Frontend Architect at Magento - avatar: https://pbs.twimg.com/profile_images/950842904771284992/pZwj7Nim_400x400.jpg - bio: Andrew writes a lot of JavaScript, and sometimes it's not completely awful. He's a Frontend Architect @magento & core team member @BabelJS. He ❤️ OSS. - email: - homepage: - twitter: drewml - github: - linkedin: -sponsor: -venue: spredfast -after: gingerman -organizers: - - lingram - - rmurphey - - astacy ---- - -Ever wonder how to pronounce Babel? Join us Tuesday {{ when | date: '%B %e, %Y' }} to find out! Austin's own Andrew Levine will teach us how to write Babel plugins. - -## Talk summary - -Andrew is going to give an intro to writing Babel plugins. He'll start with a very high level summary of how Babel works, and then dive into the Plugin APIs and several examples of real world plugins to write. diff --git a/_meetups/2017-09-19-meetup.md b/_meetups/2017-09-19-meetup.md deleted file mode 100644 index 7dd7eb7e..00000000 --- a/_meetups/2017-09-19-meetup.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: meetup -title: Not so locally sourced JavaScript -author: lingram -when: 2017-09-19T19:30:00-05:00 -video: https://youtu.be/b9aJ3lc4acQ -speakers: - - name: Ben Vinegar - title: VP Engineering at @getsentry - avatar: https://avatars2.githubusercontent.com/u/2153?v=4&s=460 - bio: Ben is a co-author of Third-party JavaScript. People respected him in 2013. - email: - homepage: - twitter: bentlegen - github: - linkedin: -sponsor: spredfast -venue: spredfast -after: gingerman -organizers: - - lingram - - rmurphey - - astacy ---- - -Source maps, huh, yeah. What are they good for? Absolutely... some things. - -We have an extra special treat this month thanks to our gracious hosts and good friends at Spredfast: Ben Vinegar is coming all the way from "San Francisco" to tell us everything about how source maps work. Join us Tuesday {{ when | date: '%B %e, %Y' }} for a special Bae Area AustinJS! - -## Talk summary - -You may already be familiar with source maps. They let you debug your original, unminified, and untranspiled code in the browser. But have you ever wondered how they actually work? Ben will take a deep dive into the source map format to see what’s under the hood, exploring source map generation tools, parsers, and how to manipulate source maps directly for fun and profit. diff --git a/_meetups/2017-10-17-meetup.md b/_meetups/2017-10-17-meetup.md deleted file mode 100644 index ae8a51cb..00000000 --- a/_meetups/2017-10-17-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: How to Start a JavaScript Synthpop Band -author: lingram -when: 2017-10-17T19:30:00-05:00 -video: https://youtu.be/EGKq5Qemlek -speakers: - - name: J. Kyle Fagan - title: - avatar: https://avatars1.githubusercontent.com/u/100188?v=4&s=460 - bio: J. Kyle Fagan is an Austin local and writes javascript for [Eduphoria](https://www.eduphoria.net). He's an aspirational artist, aspirational musician, and aspirational cool dad. - email: - homepage: - twitter: jkyle - github: - linkedin: -sponsor: - name: eRelevance - url: http://www.erelevancecorp.com/ - careerUrl: http://www.erelevancecorp.com/careers/ -venue: spredfast -after: gingerman -organizers: - - lingram - - rmurphey - - astacy ---- - -Synthesizers! JavaScript! Aleatoricism?? Using an actual analog synthesizer as a guide, Kyle will build a feature-for-feature replica in the browser with the Web Audio API and show how to use JavaScript to overcome a lack of musical training. You'll learn the capabilities and limitations of the Web Audio API, and how it can be used for applications like gaming, WebVR, and 80s retro synthwave. With live coding, live synth playing, and a touch of music theory, *what could go wrong?* diff --git a/_meetups/2017-11-21-meetup.md b/_meetups/2017-11-21-meetup.md deleted file mode 100644 index ea2e43ee..00000000 --- a/_meetups/2017-11-21-meetup.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: meetup -title: We can't contain our excitement!!! -author: astacy -when: 2017-11-21T20:30:00-05:00 -video: https://youtu.be/D2CGoNfcJYY -speakers: - - name: Mando Escamilla - title: - avatar: https://avatars1.githubusercontent.com/u/467?s=400&v=4 - bio: Literally owns *his first name* dot org. Don't fucking get him started on llamas. - email: - homepage: - twitter: mandoescamilla - github: - linkedin: -sponsor: - name: PayPal - url: https://www.paypal.com/ - careerUrl: https://www.paypal.com/us/webapps/mpp/jobs - location: 7700 W. Parmer Lane, Austin, TX 78729 -venue: spredfast -after: gingerman -organizers: - - lingram - - rmurphey - - astacy ---- - -We've got [Mando Escamilla](http://mando.org) coming this month to **_deploy_** some knowledge on us. Here's some relevant prior art: - - - -In his own words… - -## DOCKER! CONTAINERS! KUBERNETES! GAAAAH - -If all that stuff is confusing or intimidating, don’t panic - we’re here to help. We’ll help you develop a mental model of a kubernetes cluster and what it does, then jump into a demo of how you’d build and deploy a simple javascript application inside a kubernetes cluster. Don’t worry - if we were able to figure this out, you can too. diff --git a/_meetups/2018-01-16-meetup.md b/_meetups/2018-01-16-meetup.md deleted file mode 100644 index 6b0e07ff..00000000 --- a/_meetups/2018-01-16-meetup.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: meetup -title: Can we please find some commonjs ground on modules?? -author: lingram -when: 2018-01-16T20:30:00-05:00 -organizers: - - lingram - - rmurphey - - astacy ---- - -> **The January meetup is cancelled due to expected hazardous weather. See y'all in February!** - -Let's kick off the new year with [Bradley Farias](https://github.com/bmeck), who will deliver a meditation on the seven stages of ~~grief~~ standards development: - -## From Language Design to TC39 (The JS Language Standards Group) - -This talk is a reflection on a lot of discussions that come up when talking about language design and what it means to design for a future that is always bigger than the past. Topics from the past present and future such as ASI, ESM, decorators, and private fields are things that are important to get right if we are stuck with them forever. We can use discussion examples of each of these topics to get a better understanding of why it is so difficult to make things "just work". I will discuss ongoing themes of discussion within TC39 and efforts that are changing how TC39 is viewed. - -CANCELLED! WINTER IS COMING. SEEK SHELTER AND COMFORT. diff --git a/_meetups/2018-02-20-meetup.md b/_meetups/2018-02-20-meetup.md deleted file mode 100644 index b2e6c3de..00000000 --- a/_meetups/2018-02-20-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: Can we please find some commonjs ground on modules?? -author: lingram -when: 2018-02-20T20:30:00-05:00 -speakers: - - name: Bradley Farias - title: Developer Advocate at GoDaddy - avatar: https://avatars1.githubusercontent.com/u/234659?s=400&v=4 - bio: Bradley is a GoDaddy developer advocate working as a TC39 member with a focus on developer tooling. He implemented and specified Node.js integration with ES Modules; and is currently expanding experiences for the REPL, package distribution, and devtools. - email: - homepage: - twitter: bradleymeck - github: bmeck - linkedin: -sponsor: indeed -venue: spredfast -after: lavaca -organizers: - - lingram - - rmurphey - - astacy ---- - -Let's kick off the new year with [Bradley Farias](https://github.com/bmeck), who will deliver a meditation on the seven stages of ~~grief~~ standards development: - -## From Language Design to TC39 (The JS Language Standards Group) - -This talk is a reflection on a lot of discussions that come up when talking about language design and what it means to design for a future that is always bigger than the past. Topics from the past present and future such as ASI, ESM, decorators, and private fields are things that are important to get right if we are stuck with them forever. We can use discussion examples of each of these topics to get a better understanding of why it is so difficult to make things "just work". I will discuss ongoing themes of discussion within TC39 and efforts that are changing how TC39 is viewed. diff --git a/_meetups/2018-05-15-meetup.md b/_meetups/2018-05-15-meetup.md deleted file mode 100644 index dd88e04c..00000000 --- a/_meetups/2018-05-15-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: 🥤🍾🍷🍻🍹🍼 bevera.js at Gingerman ☕️🥛🥃🍸🍺🍶 -author: astacy -when: 2018-05-15T19:30:00-05:00 -speakers: -sponsor: -venue: gingerman -after: gingerman -organizers: - - lingram - - astacy ---- - -Come out tomorrow {{ when | date: '%B %e, %Y' }}, for some `bevera.js` at the Gingerman! Topics of discussion may include: - -* The open web -* [JorbaScrump](https://twitter.com/davatron5000/status/369187413291065344) -* What drink you and or your conversation partner are currently imbibing upon -* "Oh hey how have you been?" -* Giving Lawn a hard time -* Movies watched recently -* Funny tweets -* Ridiculous things your kid did or said -* Ridiculous things your dog did or said -* Dank memes -* And many more! - -Topics of discussion will of course **not** include violations of our [code of conduct](https://austinjavascript.com/austinjs-code-of-conduct/). If you see anyone fall short of being excellent to one another, please let them or an organizer know! diff --git a/_meetups/2018-06-19-meetup.md b/_meetups/2018-06-19-meetup.md deleted file mode 100644 index dd70235e..00000000 --- a/_meetups/2018-06-19-meetup.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: meetup -title: Lessons learned optimizing performance on Mixbook.com -author: lingram -when: 2018-06-19T19:30:00-05:00 -video: https://youtu.be/HZ6PBe9rwe0 -speakers: - - name: Anton Astashov - title: - avatar: https://avatars3.githubusercontent.com/u/12795?v=3&s=400 - bio: Anton is [a real-deal code slinger](https://github.com/astashov) based in Austin and currently working at [Mixbook.com](http://www.mixbook.com). - email: - homepage: - twitter: anton_astashov - github: astashov - linkedin: -sponsor: magento -venue: spredfast -after: lavaca -organizers: - - lingram - - astacy ---- - -Who is ready to optimize your user's spa experience? Anton is going to tell us the secrets to making your visitors feel pampered in no time flat! Anton will share all the tricks of the trade, from how to improve time to first relaxation to HTTP/2 aromatherapy tips. - -Anton has recently been working on optimizing performance for mixbook.com, and he’d like to tell y'all about their experience: what worked and what didn't. - -Topics include, - -* how they got rid of all external CSS to avoid blocking network calls -* how they started inlining some server-side data right into JS bundles and rebuilt/redeployed the app automatically when that data changes -* how we used webpack with custom loaders to automate all that stuff -* and more and more :) diff --git a/_meetups/2018-07-17-meetup.md b/_meetups/2018-07-17-meetup.md deleted file mode 100644 index 78958613..00000000 --- a/_meetups/2018-07-17-meetup.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: meetup -title: Zelda + a11y? -author: lingram -when: 2018-07-17T19:30:00-05:00 -video: https://youtu.be/QdACzHt_pQI -speakers: - - name: Dave Rupert - title: Lead developer at Paravel - avatar: https://avatars1.githubusercontent.com/u/42218?s=460&v=4 - bio: Purveyor of tiny jQueries. - email: - homepage: - twitter: davatron5000 - github: davatron5000 - linkedin: -sponsor: -venue: spredfast -after: lavaca -organizers: - - lingram - - astacy ---- - -Accessibility is hard. Oftentimes, it’s difficult to understand what users and assistive technology expect from your markup and designs. Can accessibility be easier to learn? Can it be…fun? In this talk, Dave will approach accessibility the way we might tackle a video game—looking at a handful of common UI patterns like popup, tabs, accordions, and modals; how to test them; and how to defeat them while leveling up your skillset along the way. diff --git a/_meetups/2018-08-21-meetup.md b/_meetups/2018-08-21-meetup.md deleted file mode 100644 index 7947f464..00000000 --- a/_meetups/2018-08-21-meetup.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: meetup -title: What if the simulation is powered by JavaScript? This explains a lot. -author: lingram -when: 2018-08-21T19:30:00-05:00 -speakers: - - name: Simon Swain - title: Cloud Architect at Silicon Labs - avatar: https://avatars3.githubusercontent.com/u/2321421?s=460&v=4 - bio: | - Javascript, IoT, Simulations, Music, 詠春, JSConf Speaker. - - * https://www.coldwar.io - * https://ratsofthemaze.com - * https://simonswain.com - email: - homepage: - twitter: simon_swain - github: simonswain - linkedin: -sponsor: indeed -venue: spredfast -after: lavaca -organizers: - - lingram - - astacy ---- - -Simon has been building browser based simulations such as [coldwar.io](https://coldwar.io) and [ratsofthemaze.com](https://ratsofthemaze.com) over the past few years, showcasing them at numerous JS Confs and our own TXJS. Since he's in town this week, he's going to give us a casual retrospective on this work and a dive into some of the code. - -## Special Guest Host - -Lon and Andrew are off to JSConf US and Aaron is taking a sabbatical to finish his upcoming definitive book on `ConcreteAbstractFactoryAdapterImplementations`, so [Rebecca Murphey](https://twitter.com/rmurphey) has graciously offered to come out of retirement and host this month's event. diff --git a/_meetups/2018-09-18-meetup.md b/_meetups/2018-09-18-meetup.md deleted file mode 100644 index 728dd8ea..00000000 --- a/_meetups/2018-09-18-meetup.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: meetup -title: Bring me a higher function, whoa-oh -author: lingram -when: 2018-09-18T19:30:00-05:00 -video: https://youtu.be/Q0MFQm133CQ -speakers: - - name: Adam Giese - title: Software Engineer at Under Armour, Connected Fitness - avatar: https://pbs.twimg.com/profile_images/1021738628249251840/nQZVwfFg_400x400.jpg - bio: Adam loves to learn and teach all things web dev. - email: - homepage: https://adamgiese.github.io/ - twitter: AdamGieseDev - github: adamgiese - linkedin: -sponsor: cloudflare -venue: spredfast -after: lavaca -organizers: - - lingram - - astacy ---- - -List manipulation is a foundation of programming, and filtering is one of the pillars. Use cases are widespread, from removing outliers from a dataset to applying filters from user interactions. When a list of criteria gets large, however, the code used for these filters can get unruly. - -By using and writing higher-order functions, you can write, combine, and manipulate criteria while keeping your JavaScript readable, maintainable, and DRY. diff --git a/_meetups/2018-10-16-meetup.md b/_meetups/2018-10-16-meetup.md deleted file mode 100644 index 3cd0df08..00000000 --- a/_meetups/2018-10-16-meetup.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: meetup -title: An Event-ful Evening with JavaScript -author: lingram -when: 2018-10-16T19:30:00-05:00 -video: https://youtu.be/7fEVFgWGnCE -speakers: - - name: Marie Chatfield - title: Software engineer at [Pingboard](https://pingboard.com/) - avatar: https://pbs.twimg.com/profile_images/900229466852655104/TeYmhngm_400x400.jpg - bio: Marie is a native Houstonian, Marie has recently returned to the homeland after a three-year stint in San Francisco, where she consistently got into arguments by insisting that tacos are superior in every way to burritos. Marie is passionate about creating inclusive spaces, building empathetic and elegant software, learning new things, and turning herself into emojis and cardboard cutouts. - email: - homepage: - twitter: mariechatfield - github: mariechatfield - linkedin: -sponsor: indeed -venue: spredfast -after: lavaca -organizers: - - lingram - - astacy ---- - -Handling events like clicks and keypresses as users interact with your content is essential for any web app. Learn the fundamentals of how events work in JavaScript, including: - -* an introduction to the DOM Event specification -* how to attach event listeners (there's so many ways!) -* how event propagation works, what "bubbling" and "capturing" mean, and why you should care -* the differences between preventDefault, stopPropagation, and return false (and when you should use each one!) - -Whether you're just learning JavaScript or are an experienced front-end developer, you'll walk away with a deeper familiarity with events. You'll be able to implement event listeners with confidence and debug with clarity! - -This talk is adapted from an Ember.js-specific talk, [Deep Dive on Ember Events](http://mariechatfield.com/talks/#deep-dive-on-ember-events). diff --git a/_meetups/2019-01-15-meetup.md b/_meetups/2019-01-15-meetup.md deleted file mode 100644 index 77ed3b86..00000000 --- a/_meetups/2019-01-15-meetup.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: meetup -title: Saving CSS Grid Headaches with JavaScript -author: alevine -when: 2019-01-15T19:30:00-06:00 -video: https://youtu.be/XOTsvU93OCk -speakers: - - name: James Y Rauhut - title: - avatar: https://pbs.twimg.com/profile_images/767017197097000960/o46faNuz_400x400.jpg - bio: James is a front-end dev and UX designer that loves fusing both roles. He enjoys talking about design systems, progressive web apps, and that horrid CSS-in-JS. Serious contributions to the web dev community include CSS Gridish and Create React App DevOps. Not-so-serious contributions include [IsTexasBackYet.com](https://IsTexasBackYet.com). - email: - homepage: - twitter: seejamescode - github: seejamescode - linkedin: -sponsor: magento -venue: spredfast -after: lavaca -organizers: - - lingram - - astacy ---- - -Grid frameworks in CSS help keep a product, department, or even a whole company visually aligned. However, they can be a struggle to maintain while satisfying different experiences’ needs. Thankfully, scripting languages have a knack for keeping everything sane. By creating a new open-source package that generates grid frameworks, we will cover: - -* Abstracting design specs for reusable code -* Performance vs CSS browser support -* The flexibility of isomorphic JavaScript packages diff --git a/_meetups/2019-02-19-meetup.md b/_meetups/2019-02-19-meetup.md deleted file mode 100644 index 837fe60c..00000000 --- a/_meetups/2019-02-19-meetup.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: meetup -title: Why people hate Javascript -author: lingram -when: 2019-02-19T19:30:00-06:00 -speakers: - - name: John Fawcett - title: Full-stack Engineer at [Cloudflare](https://www.cloudflare.com/) - avatar: https://pbs.twimg.com/profile_images/567799871210401792/JHcg7zYh_400x400.jpeg - bio: John loves JavaScript. - email: - homepage: - twitter: johndotawesome - github: jrf0110 - linkedin: -sponsor: indeed -venue: spredfast -after: lavaca -organizers: - - lingram - - astacy ---- - -Why do some people hate JavaScript while others bask in its glory? In [Stack Overflow's 2018 Survey](https://insights.stackoverflow.com/survey/2018/) of over 100,000 developers; JavaScript, HTML, and CSS rank as the _top three_ most used technologies, with 70% of developers stating that they use JavaScript. Next in the list is SQL with 57%. - -Not everyone is an expert front-end developer, but it seems that most people at least have to dip their toes. - -If you hate JavaScript, I'm going to _finally_ articulate why you _know in your heart_ that this is such a terrible language. For you JavaScript lovers out there, hopefully this sheds some light on why your language of choice is such a steaming pile of 💩. - -Let's talk about what we can do about it. diff --git a/_meetups/2019-04-16-meetup.md b/_meetups/2019-04-16-meetup.md deleted file mode 100644 index 4bcecd6c..00000000 --- a/_meetups/2019-04-16-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: JavaScript on Microcontrollers -author: lingram -when: 2019-04-16T19:30:00-05:00 -speakers: - - name: Tim Caswell - title: Principal Architect at Magic Leap - avatar: https://pbs.twimg.com/profile_images/2636020456/d447953a1f656bc20420859e667da59f_400x400.jpeg - bio: Tim is a lover of all things good in life, including Family, Friends, Food, and Functional Programs. - email: - homepage: - twitter: creationix - github: creationix - linkedin: -sponsor: magento -venue: khoros -after: lavaca -organizers: - - lingram - - astacy ---- - -Sometimes it's the little things that count - in 2s complement. Come hear about how to program the [ESP8266](https://en.wikipedia.org/wiki/ESP8266) microcontroller using [Espruino](https://www.espruino.com/) and see some fancy rainbow animations on strips of [NeoPixels](https://www.adafruit.com/category/168). diff --git a/_meetups/2019-05-21-meetup.md b/_meetups/2019-05-21-meetup.md deleted file mode 100644 index a146499c..00000000 --- a/_meetups/2019-05-21-meetup.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: meetup -title: Taking the non- out of non-standard. -author: alevine -when: 2019-05-21T19:30:00-05:00 -speakers: - - name: Mike Taylor - title: Engineering Manager at Mozilla - avatar: https://pbs.twimg.com/profile_images/1042621997/mikeyyyy_400x400.png - bio: Mike Taylor, who has been called the Carson Daly of Javascript, is an Engineering Manager on the Web Compatibility Team at Mozilla. Come learn more about him, as the author of this blog post does not know that much! - email: - homepage: - twitter: miketaylr - github: miketaylr - linkedin: -sponsor: - name: H-E-B Digital - url: https://digital.heb.com/ - careerUrl: https://digital.heb.com/join-us/ - location: 2416 East Sixth Street, Austin, TX 78702 -venue: indeed -after: lavaca -organizers: - - lingram - - astacy ---- - -Come learn about the weird history of the IE event model, what it took to ship `window.event` (and associated garbage) in Firefox 66, and why we're still talking about this in 2019. diff --git a/_meetups/2019-07-16-meetup.md b/_meetups/2019-07-16-meetup.md deleted file mode 100644 index 40d404cb..00000000 --- a/_meetups/2019-07-16-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: 'Web Assembly: What it Is, Why you should care, and what it means for JS' -author: lingram -when: 2019-07-16T19:30:00-05:00 -speakers: - - name: Kas Perch - title: Dev 🥑@cloudflare - avatar: https://pbs.twimg.com/profile_images/1206989160038445056/RR1YU361_400x400.jpg - bio: Gamer. Catparent. They/them. NodeBots author/addict. Punster. EE Dropout/Self-Study. a.k.a @ATX-Sabine - email: - homepage: - twitter: nodebotanist - github: nodebotanist - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lavaca -organizers: - - lingram - - astacy ---- - -Let's talk about a five-year-old tech like it's brand new; which is really what WebAssembly is; it's been around for years but we're only just starting to discover what it can do and how to use it. Kas can say with no hyperbole that this is the next Ajax in terms of importance to browser applications, and in this talk they'll explain why a multi-language web doesn't spell the end of JavaScript but rather a Renaissance for the web. diff --git a/_meetups/2019-08-20-meetup.md b/_meetups/2019-08-20-meetup.md deleted file mode 100644 index 6c188831..00000000 --- a/_meetups/2019-08-20-meetup.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: meetup -title: "Let's Go on a console.log() Safari 🦏" -author: lingram -when: 2019-08-20T19:30:00-05:00 -speakers: - - name: Tyler Lane - title: - avatar: https://pbs.twimg.com/profile_images/1201201405551247360/qpjhqDXq_400x400.jpg - bio: | - Tyler Lane graduated with a degree in Computer Science from Eckerd College. They have worked as a professional web developer for over six years and have taught software engineering at both Austin Coding Academy and General Assembly. They also produce the annual Out of Bounds Comedy Festival, which starts next week! - - Tyler is non-binary and uses they/them pronouns 😊 - email: - homepage: - twitter: tylerlanecodes - github: underwaterr - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lavaca -organizers: - - lingram - - astacy ---- - -One of the first things we learn in JavaScript is `console.log()`. Yet this belies the true complexity of its behavior. What exactly does `console.log()` do, anyways? (The short answer: it depends!) Adorn your pith and get in the jeep because we're about to explore `console.log()` and maybe learn a few things about streams, browsers and JavaScript engines along the way! diff --git a/_meetups/2019-10-15-meetup.md b/_meetups/2019-10-15-meetup.md deleted file mode 100644 index 60c91ffc..00000000 --- a/_meetups/2019-10-15-meetup.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: meetup -title: "Mosaic: a Platform for Micro-Frontends at Indeed" -author: lingram -when: 2019-10-15T19:30:00-05:00 -speakers: - - name: Ben Cripps - title: Full Stack Software Engineer at Indeed - avatar: https://pbs.twimg.com/profile_images/814946887161638912/o2JC7WQ2_400x400.jpg - bio: | - Born in Washington D.C., Ben now lives in Austin, Texas via Baltimore MD. He enjoys lifting weights, hiking with his wife and dog, the Orioles, ping pong, and reading. - - He is a full stack developer with a passion for the front-end. He enjoys writing JavaScript, with a focus on functional paradigms. Although he prefers React, he pride himself on being framework agnostic. Apart from client-side code and Node, he likes to write python and doesn't mind the occasional C# or Java. - - He also enjoys open source, and spends a good deal of time contributing to personal and public open source projects. - email: - homepage: - twitter: itsbencripps - github: bencripps - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lavaca -organizers: - - lingram - - astacy ---- - -Indeed is one of the largest Job Search websites in the world. In order to maintain developer velocity and quality, we’re in the process of dramatically shifting how we build web applications. Historically, we’ve built large monolith applications that have upwards of a hundred contributors, but we’ve found that this approach has limited our ability to iterate, and innovate as quickly as we’d like. - -Today, we’re focusing on splitting our monolith applications into smaller, more manageable components. In this talk, I’ll cover in detail how we developed a platform that enables building decoupled, distributed systems that perform and feel like a single application. - -We’ve developed a platform that enables the independent deployability of units of user interface units across products and pages. In this talk I’ll describe: - -* The types of problems a decoupled, and distributed frontend solve -* The individual subsystems of the platform and how those systems fit together -* How we built, and monitor the system, especially as it grows -* The tradeoffs, and problems we’ve run into, and how we’ve solved them thus far -* How to practically, and incrementally adopt this kind of system in your ecosystem diff --git a/_meetups/2019-11-19-meetup.md b/_meetups/2019-11-19-meetup.md deleted file mode 100644 index b35a8c7b..00000000 --- a/_meetups/2019-11-19-meetup.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: meetup -title: DevLaunchers - world's most FUN experiment to help teenagers learn game development! -author: kkipp -when: 2019-11-19T19:30:00-06:00 -speakers: - - name: Chung-Ting Huang - title: Systems Engineer at Cloudflare - avatar: https://avatars1.githubusercontent.com/u/7826979?s=460&v=4 - bio: At Cloudflare, Chung-Ting is building tunnels to securely expose webservers on the internet. - email: - homepage: - twitter: - github: chungthuang - linkedin: - - name: Kris Gano - title: - avatar: https://avatars1.githubusercontent.com/u/46331884?s=460&v=4 - bio: Kris is an entrepreneur who has built two game companies and is an adviser for several non-profits. His bio is also available on [pyxld.com](https://pyxld.com/#/about). - email: - homepage: - twitter: - github: pyxld-kris - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lavaca -organizers: - - lingram - - astacy ---- - -Join us for an introduction to [DevLaunchers](https://devlaunchers.com/), an initiative to teach high school students in under-served communities about game development. We'll dive into how we build the website, activities, internal tools and slack event handlers on Cloudflare Workers, CodeSandbox, GitHub Pages and Travis CI. diff --git a/_meetups/2020-02-18-meetup.md b/_meetups/2020-02-18-meetup.md deleted file mode 100644 index e28230d8..00000000 --- a/_meetups/2020-02-18-meetup.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: meetup -title: Absolute Unit Tests with Jest and Enzyme -speakers: - - name: Nick Gottschlich - title: Software Engineer at Procore Technologies - avatar: https://pbs.twimg.com/profile_images/1029847332781740032/Gp54dk3Z_400x400.jpg - bio: - email: - homepage: http://nickpgott.com - twitter: NickGottschlich - github: nick-gottschlich - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lavaca -organizers: - - lingram - - astacy ---- - -Everything you wanted to know about testing React components with [Jest](https://jestjs.io/) and [Enzyme](https://enzymejs.github.io/enzyme/) Learn what a unit test is, why its useful, and how to test things like: existence of react components, simulated clicks and other events, mocking data, snapshots and more! diff --git a/_meetups/2023-06-20-meetup.md b/_meetups/2023-06-20-meetup.md deleted file mode 100644 index c1ecae41..00000000 --- a/_meetups/2023-06-20-meetup.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: meetup -title: Building Semi-hosted SaaS -speakers: - - name: Jeff Lindsay - avatar: https://pbs.twimg.com/profile_images/1489753408961748992/u4f-zHr3_400x400.jpg - homepage: https://progrium.xyz - twitter: progrium - github: progrium - linkedin: progrium -sponsor: cloudflare -venue: cloudflare -after: zilker-brewing -organizers: - - fguest - - pcostanzo ---- - -Hosted software as a service is great, but can give the provider too much leverage over your data and the software itself. Meanwhile, self-hosted software, like many open source solutions, takes away the key value proposition of SaaS. Luckily, "semi-hosted" is a model that provides the best of both worlds and enables customization and extensibility not usually possible. I want to talk about this pattern and show what you can do with it by demonstrating a semi-hosted personal organizer I've been building with Deno and Mithril.js called Treestar. - diff --git a/_meetups/2023-07-18-meetup.md b/_meetups/2023-07-18-meetup.md deleted file mode 100644 index d9602119..00000000 --- a/_meetups/2023-07-18-meetup.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: meetup -title: "HTML with Superpowers: An introduction to Web Components" -slides: -video: -speakers: - - name: Dave Rupert - title: - avatar: https://pbs.twimg.com/profile_images/477460555981025280/JUGkf8zv_400x400.jpeg - bio: Dave Rupert is lead developer and 1/3rd of [Paravel](http://paravelinc.com). He is also the host of the [ATX Web Show](http://atxwebshow.com), a not-so-weekly podcast all about the local web design and development scene here in Austin, TX. - email: - homepage: - twitter: davatron5000 - github: - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - fguest - - pcostanzo ---- - -A short dive into web components taking a look at what they are, how they work, what problems they solve, what problems they have, and why you may want to use them on your next project. - -Dave Rupert is co-founder of Luro, a tool for tracking component usage and insights. He also co-hosts Shoptalk, a web design and development podcast with Chris Coyier from CSS-Tricks. - diff --git a/_meetups/2023-08-15-meetup.md b/_meetups/2023-08-15-meetup.md deleted file mode 100644 index df164e48..00000000 --- a/_meetups/2023-08-15-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: 4 or more package managers, what's the worst that could happen? -slides: -video: -speakers: - - name: Bradley Farias - title: - avatar: https://pbs.twimg.com/profile_images/282339703/Photo_7_400x400.jpg - bio: - email: - homepage: - twitter: bradleymeck - github: bradleymeck - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - fguest - - pcostanzo ---- - -JavaScript has a horribly rich history of writing package managers with none fully reigning as the final winner in a perpetual war for popularity and utility. Let's cover some of their differences, that actually end up with some fun surprises about nuances in how they work along the way! diff --git a/_meetups/2023-09-19-meetup.md b/_meetups/2023-09-19-meetup.md deleted file mode 100644 index 53e9d0bc..00000000 --- a/_meetups/2023-09-19-meetup.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: meetup -title: The Rise of Structured Concurrency -slides: https://www.icloud.com/keynote/0ef5Py0MLQcXZAeH8OTS_O8Xw#The_Rise_of_Structured_Concurrency -speakers: - - name: Charles Lowell - title: - avatar: https://pbs.twimg.com/profile_images/1272369014/skull_guns_400x400.jpg - bio: Charles has been delivering bullet-proof software for over 18 years. An avid contributor to open source, he founded [the Frontside](http://frontside.io) in 2005 to help businesses deliver game-changing user interfaces to their customers. Also, he really, really, really, really likes to code. Really. - email: - homepage: - twitter: cowboyd - github: - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - fguest - - pcostanzo ---- - -Rule 1. Highly concurrent programs are hard. - -Rule 2. Every non-trivial program is highly concurrent. - -JavaScript gives us some primitives to express asynchrony like promises, and async functions, but unfortunately they do not guarantee correctness. In fact far from it. Most async code is full of edge-cases and foot guns that never reveal themselves until you’re at scale. In this talk, we’ll put names to all these edge-cases and footguns so that you can recognize them instantly when they happen to you. After showing the ills, we’ll talk about the the cure: an exciting new way of thinking about our programs called Structured Concurrency. Language communities from Go, and Rust to Swift and Java, are all ablaze with talk of it, so whether you’ve explored this topic before or this is the first you’ve heard of it, you won’t want to miss this talk, because in ten years time, it will be the norm and we’ll all wonder how we ever did without it. - diff --git a/_meetups/2023-10-17-meetup.md b/_meetups/2023-10-17-meetup.md deleted file mode 100644 index f2a59ff2..00000000 --- a/_meetups/2023-10-17-meetup.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: meetup -title: Native Mobile Apps with Vanilla JavaScript -slides: -video: -speakers: - - name: Anton Astashov - title: - avatar: https://avatars3.githubusercontent.com/u/12795?v=3&s=400 - bio: Anton is [a real-deal code slinger](https://github.com/astashov) based in Austin and currently working at [Mixbook.com](http://www.mixbook.com). - email: - homepage: - twitter: anton_astashov - github: astashov - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - fguest - - pcostanzo ---- - -Build native mobile apps in JavaScript! Just regular JavaScript without any mobile frameworks. - -This can be a great solution if you’re a web developer and JavaScript is your bread and butter. Apps built this way work fast, are quick to deploy, and don’t have to pass App Store reviews every time! So come and learn about the pros and cons of this approach, and what it takes to build a JS native mobile app. - diff --git a/_meetups/2024-01-16-meetup.md b/_meetups/2024-01-16-meetup.md deleted file mode 100644 index 30dd41b4..00000000 --- a/_meetups/2024-01-16-meetup.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: meetup -title: "Remix: Teaching Young Dogs new Tricks" -slides: -video: -speakers: - - name: Brooks Lybrand - title: - avatar: https://avatars.githubusercontent.com/u/12396812?v=4 - bio: - email: - homepage: - twitter: BrooksLybrand - github: brookslybrand - linkedin: brooks-lybrand -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - fguest - - pcostanzo - - joahg ---- - -Remix is a full stack web framework that lets you focus on the user interface and work back through web standards to deliver a fast, slick, and resilient user experience. In this talk Brooks will show you how Remix makes it easy to iteratively build solid, engaging, and user-centric experiences using the basic building blocks of the web. diff --git a/_meetups/2024-02-20-meetup.md b/_meetups/2024-02-20-meetup.md deleted file mode 100644 index 0652c077..00000000 --- a/_meetups/2024-02-20-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Programmable OS Command Palettes" -slides: https://programmable-os-command-palettes.kevinkipp.com/ -video: -speakers: - - name: Kevin Kipp - title: - avatar: https://avatars.githubusercontent.com/u/8732191?v=4 - bio: - email: - homepage: https://kevinkipp.com - twitter: kevin_kipp - github: third774 - linkedin: kevin-kipp -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - pcostanzo - - joahg ---- - -Command palettes in applications are great — they spare us from reaching for the mouse to go spelunking through menus. Raycast and Script Kit are two delightful tools that are akin to command palettes, accessible from within any application, and programmable with JavaScript! Come, see what's possible, and feel empowered to start building out your own OS command palette! diff --git a/_meetups/2024-03-19-meetup.md b/_meetups/2024-03-19-meetup.md deleted file mode 100644 index 58462d8d..00000000 --- a/_meetups/2024-03-19-meetup.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: meetup -title: "Universal React with Expo Router" -slides: -video: -speakers: - - name: Evan Bacon - title: - avatar: https://avatars.githubusercontent.com/u/9664363?v=4 - bio: - email: - homepage: https://evanbacon.dev/ - twitter: baconbrix - github: evanbacon - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - pcostanzo - - joahg ---- - -We’ve all heard of the React motto “write once, run everywhere” but what does this look like in reality? Learn how Expo Router––the universal React framework––is making it possible to reuse complex app development patterns like routing, data fetching, and rendering, across web and native platforms. - -I’m the creator of Expo Router, and manage the dev tools/web team at Expo. Bring your most complicated React/React Native questions and I’ll try my best to answer them all. diff --git a/_meetups/2024-04-16-meetup.md b/_meetups/2024-04-16-meetup.md deleted file mode 100644 index 3a36b1fe..00000000 --- a/_meetups/2024-04-16-meetup.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: meetup -title: "Lightning Talks" -slides: -video: -speakers: - - name: Multiple - title: - avatar: https://gravatar.com/avatar/undefined - bio: - email: - homepage: - twitter: - github: - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - pcostanzo - - joahg ---- - -This month, we are opening the podium to the community, inviting all to take the microphone for a few minutes to show off something that you have learned or discovered recently that has made your life as a JS dev easier! All who are brave enough to present will be rewarded with newly minted AustinJS stickers. - -Lightning talks: - - - **The Ongoing War Between CJS & ESM: A Presentation on Insecurity & Security** by [Nathan Bornstein](https://www.linkedin.com/in/nathangbornstein/) - - **Kill It with Fire: A Flaky Spec Story, Or "How I fixed 2000 flaky specs and learned how to love the build"** by [Nicholas Mullen](https://www.linkedin.com/in/nwmullen/) - - **Docker** by [Dylan Briar](https://www.linkedin.com/in/dylanbriar/) - - **dynohot** by [marcel laverdet](https://www.linkedin.com/in/laverdet/) - - **Running web apps on native mobile devices with Capacitor** by [Ryan Hopper-Lowe](https://www.linkedin.com/in/ryan-hopper-lowe-33ba95135/) - - **Pattern for conditional rendering using component** by [Arno Saine](https://www.linkedin.com/in/arnosaine) diff --git a/_meetups/2024-05-21-meetup.md b/_meetups/2024-05-21-meetup.md deleted file mode 100644 index cb7d99ae..00000000 --- a/_meetups/2024-05-21-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Making Mobile And Desktop Apps From Your JS Frontend With Tauri" -slides: -video: -speakers: - - name: Jason Levitt - title: - avatar: https://gravatar.com/avatar/8b98b1ceba59011de5b6183167dc4e89bc76d079e771dd00eacc07c3f86d0dfe - bio: - email: - homepage: - twitter: - github: - linkedin: levitt -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - pcostanzo - - joahg ---- - -Tauri is a relatively recent, open-source (FLOSS), framework that lets you re-purpose your JS frontend as both a desktop (Mac/Win/Linux) and mobile (iOS/Android) application. It's easy to use and creates small, highly performant, executables. diff --git a/_meetups/2024-06-18-meetup.md b/_meetups/2024-06-18-meetup.md deleted file mode 100644 index 42dc752b..00000000 --- a/_meetups/2024-06-18-meetup.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: meetup -title: "JavaScript's Quirks: Understanding the 'Why' Behind the 'What'" -slides: -video: -speakers: - - name: David Bowman - title: - avatar: https://avatars.githubusercontent.com/u/42383060?v=4 - bio: - email: - homepage: https://www.theinnovationlab.dev/ - twitter: davidlbowman - github: davidlbowman - linkedin: davidlbowman -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - kkipp - - joah ---- - -JavaScript is a language often mocked for its quirky behaviors, like how 3 + '3' equals '33' or how 0.1 + 0.2 doesn't quite equal 0.3. These peculiarities can be confusing and frustrating, especially for beginners. However, most of these behaviors aren't random or senseless—they stem from historical decisions, compromises, and attempts to handle various use cases. In this talk, we'll explore some of JavaScript's most notorious quirks, exploring their reasoning. We'll cover topics like type coercion, truthy/falsy values, equality comparisons, variable scope and hoisting, the typeof operator, and prototypal inheritance. If you understand the 'why' behind the 'what,' you will be better equipped to write clean, predictable JavaScript code and avoid common pitfalls. Whether you're a JavaScript beginner or an experienced developer, you'll walk away with valuable insights into the language's inner workings. - diff --git a/_meetups/2024-07-16-meetup.md b/_meetups/2024-07-16-meetup.md deleted file mode 100644 index fed829d3..00000000 --- a/_meetups/2024-07-16-meetup.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: meetup -title: "Getting Started with Passkeys and WebAuthn" -slides: -video: -speakers: - - name: Lucas Castro - title: - avatar: https://lucasamonrc.dev/me.jpg - bio: - email: - homepage: https://lucasamonrc.dev/ - twitter: - github: lucasamonrc - linkedin: lucasamonrc -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - joahg ---- - -Passwords are vulnerable and frustrating for users. Passkeys promise a seamless and secure authentication future. But understanding the concepts and implementing them into your web application can feel daunting. - -In this talk, we'll break down the fundamentals of passkeys, including the WebAuthn specification and the benefits they provide. You'll learn how to set up a simple WebAuthn server, handle registration and authentication flows, and navigate the practical aspects of implementing passkeys in your application. We will cover just enough ground for you to get started and lay out a passkey foundation to be built upon. diff --git a/_meetups/2024-08-20-meetup.md b/_meetups/2024-08-20-meetup.md deleted file mode 100644 index 198ccc41..00000000 --- a/_meetups/2024-08-20-meetup.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: meetup -title: "Contorted Frameworks: Resolving the Tension Between Static and Dynamic UIs" -slides: -video: -speakers: - - name: Nicholas Mullen - title: - avatar: https://avatars.githubusercontent.com/u/112715?v=4 - bio: Nicholas is visiting us from Richmond Va, and if we're nice enough he might stay longer. He is a Software Engineer at GiveCampus where he does full-stack dev work with Ruby, Rails, Javascript, and React. - email: nwmullen@gmail.com - homepage: - twitter: - github: bishibop - linkedin: nwmullen -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - joahg - - kkipp ---- - -Or: "How a Rails developer read the docs, achieved enlightenment, and learned to love React server components" - -An exploration of the pain and oddities of how traditional web frameworks attempt to handle high-interactivity dynamic UIs, and how modern front-end frameworks similarly introduce complexity to support low-interactivity static UIs. - diff --git a/_meetups/2024-09-17-meetup.md b/_meetups/2024-09-17-meetup.md deleted file mode 100644 index 0b60a9be..00000000 --- a/_meetups/2024-09-17-meetup.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: meetup -title: "Building Robust Applications with Effect: Mastering Return Types and Monads" -slides: -video: -speakers: - - name: David Bowman - title: - avatar: https://avatars.githubusercontent.com/u/42383060?v=4 - bio: - email: - homepage: https://www.theinnovationlab.dev/ - twitter: davidlbowman - github: davidlbowman - linkedin: davidlbowman -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - kkipp - - joahg ---- - -Effect is a powerful library that enhances your TypeScript projects by focusing on robust return types, error handling, query retries, interruption management, and observability. With Effect, you can ensure that your functions return consistent and predictable types, making your code more reliable and easier to maintain. It also encourages treating errors as first-class citizens, allowing for graceful error handling and recovery. Additionally, Effect provides mechanisms for retrying queries and managing interruptions, ensuring that your application remains resilient in various scenarios. Finally, its observability features help you monitor and debug your application more effectively. Now, you can take your todo application to the next level and impress everyone with your overengineered masterpiece. - diff --git a/_meetups/2024-10-15-meetup.md b/_meetups/2024-10-15-meetup.md deleted file mode 100644 index d0857688..00000000 --- a/_meetups/2024-10-15-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Making real-time easier than ever with Prisma Pulse" -slides: -video: -speakers: - - name: Jon Harrell - title: - avatar: https://avatars.githubusercontent.com/u/4829245?v=4 - bio: - email: - homepage: - twitter: jonbharrell - github: jharrell - linkedin: jonharrell -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - kkipp - - joahg ---- - -When starting on a new web, fullstack project, developers are spoiled for choice from the many frameworks and services to choose from. For real-time or near real-time apps, there's an even more complicated world to navigate. Instead, what if you could use web APIs and simple to integrate services to power any real-time app? Join Jon as he guides you through everything you might need to create a chat room (spoiler: it's less than you might think!) diff --git a/_meetups/2024-12-06-meetup.md b/_meetups/2024-12-06-meetup.md deleted file mode 100644 index b0bc5bcb..00000000 --- a/_meetups/2024-12-06-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Holiday Party" -slides: -video: -speakers: - - name: - title: - avatar: https://avatars.githubusercontent.com/u/2164095?v=4 - bio: - email: - homepage: - twitter: - github: - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - kkipp - - joahg ---- - -The holiday party was a blast! We introduced our new Austin JavaScript shirts for the first time, and gave them to the winning table members of the Web Trivia game we played. Plus, some tried out our new battledecks, where each speaker improvised the topic and content based on what slides popped up on the screen. They all did great, and were awarded a shirt as well. diff --git a/_meetups/2025-01-29-meetup.md b/_meetups/2025-01-29-meetup.md deleted file mode 100644 index d5e36e8b..00000000 --- a/_meetups/2025-01-29-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Cloudflare for Web Dev" -slides: -video: -speakers: - - name: Collier King - title: - avatar: https://avatars.githubusercontent.com/u/10591022?v=4 - bio: - email: - homepage: - twitter: - github: - linkedin: -sponsor: cloudflare -venue: cloudflare -after: lazarus -organizers: - - kkipp - - joahg ---- - -Cloudflare offers a cheap and easy suite of tools for developers to build full stack web applications. In this talk, Collier will show how to build and deploy a full stack web app on Cloudflare, covering hosting, storage, databases, background jobs and more. \ No newline at end of file diff --git a/_meetups/2025-02-18-meetup.md b/_meetups/2025-02-18-meetup.md deleted file mode 100644 index c9baa9d3..00000000 --- a/_meetups/2025-02-18-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Simplifying React App Login" -slides: -video: -speakers: - - name: Harsha Thirimanna - title: - avatar: https://media.licdn.com/dms/image/v2/D5603AQE4lpos2fZjuw/profile-displayphoto-shrink_400_400/B56ZQy4Y8BH0Ak-/0/1736020431284?e=1746662400&v=beta&t=xqeBRwygpfzNK5xrZKOCR1P_agOxPLxB94sTmLo93UU - bio: - email: - homepage: - twitter: - github: - linkedin: -sponsor: cloudflare -venue: cloudflare -after: Zilker Brewing Company -organizers: - - kkipp - - joahg ---- - -We will focus on overcoming challenges in implementing secure and efficient login processes for React applications. The session covers basic login functionalities, integrating with external identity providers (IDPs), and advanced use cases like Single Sign-On (SSO), Multi-Factor Authentication (MFA), and social login options. Developers will learn how to streamline user authentication using the Asgardeo React SDK, enabling OpenID Connect (OIDC) compliance, token management, and best security practices. \ No newline at end of file diff --git a/_meetups/2025-04-15-meetup.md b/_meetups/2025-04-15-meetup.md deleted file mode 100644 index d1a92220..00000000 --- a/_meetups/2025-04-15-meetup.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: meetup -title: "Effect-TS: Engineering Reliable Open Source Systems" -slides: -video: -speakers: - - name: David Bowman - title: - avatar: https://avatars.githubusercontent.com/u/42383060?v=4 - bio: - email: - homepage: https://www.theinnovationlab.dev/ - twitter: davidlbowman - github: davidlbowman - linkedin: davidlbowman -sponsor: cloudflare -venue: cloudflare -after: Zilker Brewing Company -organizers: - - kkipp - - joahg ---- - -We'll explore the architectural patterns and practices for developing enterprise-ready open-source software using Effect-TS. The session will demonstrate how functional programming principles, through Effect-TS, provide robust solutions for complex enterprise requirements, including error handling, observability, and concurrency management. - -Attendees will learn practical techniques for creating specialized effects, designing comprehensive error types, and implementing generation functions that enhance maintainability and scalability. The lecture will showcase these concepts through a HIPAA-compliant medical application lens, illustrating how Effect-TS elegantly addresses the stringent requirements of healthcare software—including audit logging, secure data handling, and regulatory compliance. The session will also cover advanced topics such as building observation services for telemetry and leveraging fiber-based concurrency to create responsive applications that maintain data integrity under load. By examining these enterprise patterns in Effect-TS, developers will gain valuable insights applicable to any industry requiring high reliability, security, and maintainability in their open-source software projects. diff --git a/_meetups/2025-05-20-meetup.md b/_meetups/2025-05-20-meetup.md deleted file mode 100644 index 9c210000..00000000 --- a/_meetups/2025-05-20-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Vibe Coding a Tamagotchi in Next.js" -slides: -video: -speakers: - - name: Andrew Njoo - title: - avatar: https://media.licdn.com/dms/image/v2/D5603AQFsSreCl2gSTQ/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1710358509687?e=1753920000&v=beta&t=f590cwSR3lZW-rKKx8k21ZCHBfNPMo3HgKU713RwpV4 - bio: - email: - homepage: - twitter: - github: - linkedin: -sponsor: cloudflare -venue: cloudflare -after: Zilker Brewing Company -organizers: - - kkipp - - joahg ---- - -Ever wanted to build something just for the vibes? In this talk, I’ll walk through how I prototyped a Tamagotchi-style app using Next.js and TailwindCSS — not for a client, not for a launch, but just to explore joy in coding. We'll cover core frontend logic (state management, time-based updates), CSS animations, and light gamification. The goal isn’t perfection — it's flow, play, and remembering why we started coding in the first place. Expect code demos, a few laughs, and maybe even a virtual pet revival. diff --git a/_meetups/2025-06-17-meetup.md b/_meetups/2025-06-17-meetup.md deleted file mode 100644 index 45eacec2..00000000 --- a/_meetups/2025-06-17-meetup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: meetup -title: "Universal Tools For AI" -slides: -video: -speakers: - - name: Orlando Kalossakas - title: - avatar: https://media.licdn.com/dms/image/v2/D5603AQEslLAr7lB_1w/profile-displayphoto-shrink_800_800/B56ZZeA1taHUAg-/0/1745334001337?e=1753920000&v=beta&t=xtEySByG3qYaG27aVg__juTdZVIPPLJYgW_diMxCQm4 - bio: - email: - homepage: - twitter: sunglassesface - github: - linkedin: laserfocus -sponsor: cloudflare -venue: cloudflare -after: Zilker Brewing Company -organizers: - - kkipp - - joahg ---- - -Agents are the coolest trend but what are they made of? Let's take a look at what is going on behind the scenes and explore concepts like Model Context Protocol, Function Calling and APIs diff --git a/_meetups/_meetups.json b/_meetups/_meetups.json deleted file mode 100644 index f57bd27f..00000000 --- a/_meetups/_meetups.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "permalink": "posts/meetups/{{ page.date | dateSlug }}/" -} diff --git a/_posts/2010-02-28-austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes.md b/_posts/2010-02-28-austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes.md deleted file mode 100644 index 36bad73c..00000000 --- a/_posts/2010-02-28-austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: post -title: 'Austin JavaScript SXSWi Happy Hour — Free Beer, Free Food, Free Prizes!' -author: jmccann ---- -For the month of March, instead of discussing closures and anonymous functions, the Austin JavaScript meetup group will be holding a party during [SXSWi][1] at [Kung Fu Saloon](http://www.kungfusaloon.com) sponsored by [Appcelerator](http://www.appcelerator.com).  We will have FREE BEER, FREE FOOD, AND FREE GAMES!  Yes, you read that right:FREE!  No strings attached!  Escape the mayhem on East 6th by foot or [pedicab][2] and end up at Kung Fu Saloon, West 6th's newest hangout, and play a round of Street Fighter II or skeeball while downing free, QUALITY (non-domestic) beer. - -The event details are as follows: - -* *Where:* Kung Fu Saloon - [510 Rio Grande Street Austin, TX 78701][3] -* *When:* Monday, March 15, 2010 from 4pm to 9pm. -* *Why:* Meet fellow techies and hackers from around the world. -* *How:* Just show up to Kung Fu Saloon! - -From Kung Fu Saloon's website: - -> Kung Fu Saloon is a West 6th Street area watering hole featuring a relaxed atmosphere in downtown Austin.  To satisfy your thirst we offer a full bar including 24 beers on tap, with a selection ranging from the everyman’s Miller Light to the Belgian man’s Chimay.  Oh yeah, we almost forgot to mention the specialty Sake bomb menu! -> Entertainment includes 14 vintage arcade games like Ms. Pacman, NBA Jam, Street Fighter II, Galaga,  Golden Tee, Space Invaders & more.  The fun continues with Shuffleboard, three original Skee Ball machines, and board games available for checkout at your table including Jenga, Boggle, Dominoes, & Giant Checkers. -> Reclaimed Chicago brick & 100 year old Texas barn wood keep it comfortable.   Random accents like Space Invaders with glowing candle lit eyes invading down the masonry and pixelated images of Chuck Norris and Bruce Lee keep it amusing.  Come check us out! - -The Austin JavaScript SXSWi Happy Hour is graciously sponsored by none other than the huge supporter and innovator in the JavaScript world,  Appcelerator.  Appcelerator will be on site showcasing their premier development kit, [Titanium][4], which allows you to write native desktop and mobile (iPhone and Android with Blackberry right around the corner) applications using HTML, CSS and JavaScript (and even Python, Ruby, and PHP).  The Appcelerator team will also be giving away loads of free swag including free t-shirts for the first 500 people! - -And of course we'll have some food to wash all that beer down.  Austin's premier hot dog vendor, [Man Bites Dog][5], will be providing us with a "build-your-own-dog" gourmet hot dog buffet! - -Additional sponsors and support provided by [subPrint Interactive][6] and [Virtue Group][7]. - -Any questions or concerns, feel free to contact Joe McCann via Twitter:  [@joemccann](http://twitter.com/joemccann). - - [1]: http://www.sxsw.com/interactive "SXSWi" - [2]: http://austinpedicab.org/ "Austin Pedicab" - [3]: http://maps.google.com/maps?hl=en&sourceid=gd&rlz=1Q1GGLD_enUS358US358&um=1&ie=UTF-8&q=510+Rio+Grande+Street+Austin,+TX+78701&fb=1&gl=us&hnear=510+Rio+Grande+Street+Austin,+TX+78701&cid=0,0,6664090591934469659&ei=0KCKS6udG4uutgfjl-CaDw&sa=X&oi=local_result&ct=image&resnum=1&ved=0CAcQnwIwAA "Map of Kung Fu Saloon" - [4]: http://www.appcelerator.com/products/titanium-cross-platform-application-development/ "Titanium" - [5]: http://www.manbitesdogaustin.com/ "Man Bites Dog" - [6]: http://www.subprint.com "subPrint Interactive" - [7]: http://www.virtuegroup.net/ "Virtue Group" diff --git a/_posts/2010-07-12-new-location-for-the-austin-javascript-meetup.md b/_posts/2010-07-12-new-location-for-the-austin-javascript-meetup.md deleted file mode 100644 index 48816e8c..00000000 --- a/_posts/2010-07-12-new-location-for-the-austin-javascript-meetup.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: New Location for the Austin JavaScript Meetup -author: joemccann -layout: post ---- -After 14 solid months of usage at [Virtue Group's][1] stunning office, we are moving our location to the crossroads of downtown Austin, namely 6th and Congress. The new meeting location will be at [frog design's][2] Austin studio located at [101 West 6th Street, 2nd Floor][3] of the historical [Scarborough Building][4]. - -Meeting will start *promptly* at 7:30 PM and will be wrapping up at 9pm. Afterwards, the conversations carry on the [Gingerman][5], only 3 blocks away. - - [1]: http://www.virtuegroup.net/ - [2]: http://www.frogdesign.com - [3]: http://maps.google.com/maps?oe=UTF-8&hl=en&q=101+west+6th+street+austin+tx&client=qsb-mac&ie=UTF8&hq=&hnear=101+W+6th+St,+Austin,+Travis,+Texas+78701&gl=us&ei=eD07TI_BMoWKlwfBzpzVBw&ved=0CBMQ8gEwAA&z=16 - [4]: http://www.austinpostcard.com/shistory.htm - [5]: http://gingermanpub.com/ diff --git a/_posts/2010-08-24-austin-javascript-email-list.md b/_posts/2010-08-24-austin-javascript-email-list.md deleted file mode 100644 index 8b33d6a9..00000000 --- a/_posts/2010-08-24-austin-javascript-email-list.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: post -title: Austin JavaScript Email List -author: jmccann ---- - -Thanks to Logan Lindquist's work, the Austin JavaScript group now has a list you can subscribe to via email: - -Just activate [this link](http://feedburner.google.com/fb/a/mailverify?uri=Twitter/Austinjs) to go straight to the email address entry form.  Enter your email address, then verify it in your inbox (a verification email will be sent automatically). - -Thanks Logan! diff --git a/_posts/2010-11-30-december-open-bar-happy-hour-sponsored-by-teksystems.md b/_posts/2010-11-30-december-open-bar-happy-hour-sponsored-by-teksystems.md deleted file mode 100644 index 2dde2c89..00000000 --- a/_posts/2010-11-30-december-open-bar-happy-hour-sponsored-by-teksystems.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -title: December Open Bar Happy Hour Sponsored by TEKsystems -author: jmccann ---- -Since so many of us were devastated to find out that there was no meetup scheduled for December, TEKsystems decided to step up and allows us to drown our sorrows in a few pints of beer! - -> TEKsystems would like to invite The Austin JavaScript User Group to our Christmas Cheer and Beer Happy Hour at The Ginger Man on December 21st.  We will have an open tab from 6 PM to 8 PM.  Please feel free to invite friends, colleagues, family (sorry no children).  Happy Holidays!! - -So do your part and represent our strong and ever growing community (42 people at last month's meetup!) at The Ginger Man on December 21st. - -Happy Holidays! diff --git a/_posts/2010-12-13-austin-web-community-holiday-bash.md b/_posts/2010-12-13-austin-web-community-holiday-bash.md deleted file mode 100644 index a503e408..00000000 --- a/_posts/2010-12-13-austin-web-community-holiday-bash.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: post -title: Austin Web Community Holiday Bash! -author: jmccann ---- -On Tuesday, come join the conglomerate of the web community meetups here in Austin to have a few cocktails and support a great organization  [The Capitol Area Food Bank][1].  Austin JavaScript along with some of the other great meetup groups including [WordPress Austin](http://wpaustin.com/), [Austin on Rails](http://www.austinonrails.org/), [IxDA-Austin](http://ixdaaustin.ning.com/), [Austin UPA](http://www.austinupa.org/), [Austin Lean Startup Circle](http://www.meetup.com/Austin-Lean-Startup-Circle/), the [Web Design Meetup](http://www.meetup.com/Austin-Web-Design/), [Bootstrap Austin Interactive](http://www.bootstrapaustin.org/wiki/index.php/Interactive_Subgroup),  [Austin Drupal Newbie Meetup](http://www.meetup.com/Austin-Drupal-Newbies-Meetup/), [Austin PHP Meetup](http://www.meetup.com/austinphp/) and of course, [Refresh Austin](http://www.refreshaustin.org/) will all be hanging out for a good time and good cause. - -A giant thanks goes out to the good folks at [Rackspace](http://www.rackspace.com/) for sponsoring drinks and [BuildASign](http://www.buildasign.com/) for sponsoring the bartenders who will make them! - -*When*: 7 — 9pm, Tuesday, December 14th, 2010 - -*Where*: Buffalo Billiards (6th and Brazos) - -*Admission*: One canned food item for the Capital Area Food Bank. - -[Spread the word on Facebook!](http://on.fb.me/AustinWebBash) - - [1]: http://www.capitalareafoodbank.org/ diff --git a/_posts/2011-02-22-austin-javascript-2011-sxsw-party.md b/_posts/2011-02-22-austin-javascript-2011-sxsw-party.md deleted file mode 100644 index 1930a6d0..00000000 --- a/_posts/2011-02-22-austin-javascript-2011-sxsw-party.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: post -title: Austin JavaScript 2011 SXSW Party -author: jmccann ---- -That time of year is here again, where we in the Austin JavaScript community close our laptops and instead have a few beers together. After such a successful event last year at [Kung Fu Saloon][1], we decided to do the same thing this year, but with more reasons to come out and support the community. - -First, this year, we will be requiring attendees to either have an official SXSW badge or two cans of food to donate to the [Capital Area Food Bank][2]. With such a huge turnout last year, why wouldn't we use this as an opportunity to raise awareness and help stamp out hunger in the greater Austin area. A party with a cause! Party details are as follows: - -* Sunday, March 13, 2011 4pm to 8pm -* Kung Fu Saloon — [510 Rio Grande, Austin TX 78701][3] -* Free Texas Beer -* Free Authentic Tex-Mex Tacos courtesy of [Maudie's][4] -* Free Gaming at Kung Fu Saloon including Skeeball and all Vintage Arcade Games -* Free No Strings-Attached Door Prize Giveaways Every Hour (iPad, Android Tablet, Amazon Kindle, VIP Tickets to Microsoft's ACL Party, a ticket to [TXJS][5] and possibly more) -* Free Swag Bags to Take Home full of Goodies - -Of course none of this would be possible without the unwavering support of our gracious sponsors: [Microsoft (IE Team)][6], [Solvate][7], [Mozilla (Developer Engagement)][8], [TekSystems][9] and [Cultivate PR][10]. - -Microsoft will actually be out engaging and entertaining all who attend to check out the latest version of IE9 and to assist developers preparing their sites and apps *now*.  You do know that [IE9 is at release candidate state][11], right? - -Stay tuned as even more details are announced.  We have a few tricks up our sleeve: - -Follow us on Twitter here:  [@austinjs][12] - - [1]: http://kungfusaloon.com/austin/ - [2]: http://www.austinfoodbank.org/ - [3]: http://maps.google.com/maps?near=510+Rio+Grande+St,+Austin,+TX+78701&geocode=CUDZ26qUXmdhFTTgzQEdGnUs-imhqpSADrVEhjEbY0mPLWZ9Iw&q=kung+fu+saloon&f=l&gl=us&sll=30.269492,-97.749734&sspn=0.014789,0.032938&ie=UTF8&hq=kung+fu+saloon&hnear=&z=17&iwloc=A - [4]: http://www.maudies.com/ - [5]: http://texasjavascript.com/ - [6]: http://ie.microsoft.com/testdrive/ - [7]: http://www.solvate.com - [8]: https://developer.mozilla.org/en-US/ - [9]: http://www.teksystems.com/ - [10]: http://www.facebook.com/cultivatepr - [11]: http://blogs.msdn.com/b/ie/archive/2011/02/10/acting-on-feedback-ie9-release-candidate-available-for-download.aspx - [12]: http://twitter.com/austinjs diff --git a/_posts/2011-03-01-2011-austin-javascript-sxsw-party-poster.md b/_posts/2011-03-01-2011-austin-javascript-sxsw-party-poster.md deleted file mode 100644 index cfad9ab0..00000000 --- a/_posts/2011-03-01-2011-austin-javascript-sxsw-party-poster.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -title: 2011 Austin JavaScript SXSW Party Poster -author: jmccann ---- -
- 2011 Austin JavaScript SXSW Party -
diff --git a/_posts/2011-03-04-austin-js-sxsw-party-and-devunplugged.md b/_posts/2011-03-04-austin-js-sxsw-party-and-devunplugged.md deleted file mode 100644 index 999453b0..00000000 --- a/_posts/2011-03-04-austin-js-sxsw-party-and-devunplugged.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -layout: post -title: 'Austin JS SXSW Party and {Dev:unplugged}' -author: jmccann ---- -As an added bonus this year to all of the other fun and festivities, Austin JavaScript will be proudly promoting the IE team's [{Dev:unplugged}][1] event at our SXSW party. Don't know what you {Dev:unplugged}? Don't worry, the IE team will be out promoting the event at the party! - -Here's a bit more information about {Dev:unplugged}: - -> Today, we are announcing the launch of Dev Unplugged, a contest that challenges web developers to push the limits of a modern browser without the use of plug-ins. We believe that HTML5 and related technologies, in conjunction with faster and faster browsers, finally give developers the tools they need to create experiences that are as vivid, interactive and compelling as anything you have seen in native applications. We hope that Dev Unplugged becomes a forum where developers around the world showcase their talents and what’s possible and inspires all of us to see where the web is going. -> -> The Challenge -> -> As we look around and see the amazing things that people are creating using these new technologies, we decided that two categories really stood out to us: Gaming and Music. Developers can choose to submit an app in either category. -> -> For the gaming category, we hope developers will push the limits of a modern browser and create games that are fun and addictive.  In order to help developers get started and give them some inspiration, we worked with Mike Mignola, the creator of Hellboy, to license his characters exclusively for the developers to use to create their HTML5 game. -> -> In the music category, we want developers to help us discover new ways to experience music online. In order to give them some material to get started, we’ve teamed-up with two hot bands provide them with tracks to get started: “Boy” by Ra Ra Riot and “Sail” by AWOLNATION. -> -> The Judges -> -> To help us judge the submissions we have assembled an amazing panel of judges that feature experts in HTML5, design and user experience on the web, including the likes of: Dion Almaer, Ben Galbraith, Remy Sharp, Grant Skinner, Rob Ford and Robert Nyman.  The panel will be asked to judge the top-40 finalists according to creativity, quality of implementation and fit with the contest theme. -> -> The Prizes -> -> In order to really capture the attention of cutting-edge web developers, we have put together a set of 9****featured prizes and 9****honorable mentions.  The prizes include: -> -> * $40,000 in total prizes including $9,000 for the Grand Prize. -> * Front page exposure on theFWA.com and beautyoftheweb.com -> * Cool hardware: laptops and slates from Alienware, HP and ASUS -> * An all-expense paid trip to the Future of Web Apps Las Vegas with “golden ticket” VIP access -> -> Developers, Start Your Engines! -> -> Below are the dates for the contest.  We will have a private submission process for 5 weeks, at which point we will open up the submissions to the public so that they can check-out the submissions and vote on their favorites.  Once submissions close, we will announce the 40 finalists who the judging panel will review in order to find out who our winners are. -> -> * 3/1 – Contest Opens (submit early, don’t miss a chance to get voted-up!) -> * 4/5 – Submission gallery opens to the public and voting begins! -> * 5/9 – Submission deadline -> * 5/12 – Top-40 Finalists are announced -> * 5/23 – Winners are announced! -> ->   - - [1]: http://www.beautyoftheweb.com/#/unplugged diff --git a/_posts/2011-04-04-2011-austin-javascript-sxsw-party-wrapup.md b/_posts/2011-04-04-2011-austin-javascript-sxsw-party-wrapup.md deleted file mode 100644 index e3505dce..00000000 --- a/_posts/2011-04-04-2011-austin-javascript-sxsw-party-wrapup.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -title: 2011 Austin JavaScript SXSW Party Wrapup -author: jmccann ---- - -Now that SXSW has wound down, Austin JavaScript would like to cordially reach out and thank everyone who attended the Austin JavaScript SXSW party. It was a _massive_ success! Over 1,000 people attended, we ran out of food in 45 minutes (500 tacos) and all of the beer was consumed within 3 hours. - -[![Drinking and Driving](/wp-content/uploads/2011/04/drinking_and_driving-300x200.jpg "Drinking and Driving")](/wp-content/uploads/2011/04/drinking_and_driving.jpg) - -The door prizes were a big hit, from VIP tickets to Microsoft’s IE9 party to a Motorola Xoom, but the clear object of desire was the iPad 2 which was given away last. As if it were written in a script for a suspenseful movie, [@joemccann](http://twitter.com/joemccann) had to reach into the ticket bowl 11 times to draw the winning ticket number. Bribes were offerred, deals were attempted to be made, but, alas, after the eleventh draw, this lucky guy won the iPad 2 (everyone else went to the bar to drown their sorrows). - -[![iPad 2 Winner](/wp-content/uploads/2011/03/iPad-2-Winner-300x242.jpg "iPad 2 Winner")](/wp-content/uploads/2011/03/iPad-2-Winner.jpg) - -From the humanitarian side of the event Austin JavaScript raised a whopping 683 pounds of food for the Capital Area Food Bank (CAFB)! The folks at the CAFB were overjoyed with our donation and wanted to extend their gratitude to all parties involved. And due to it being such a large donation, they’re featuring Austin JavaScript in their newsletter this month! - -[![Loads of Food!](/wp-content/uploads/2011/03/CAFB-300x225.jpg "Loads of Food!")](/wp-content/uploads/2011/03/CAFB.jpg) - -An extra big thanks to our very generous sponsors, [Microsoft and the IE9 Team](http://www.beautyoftheweb.com/#/unplugged), [subPrint Interactive](http://subprint.com), [Mozilla](https://developer.mozilla.org/en-US/), [Solvate](http://solvate.com), [TEKsystems](http://www.teksystems.com/), [Cultivate PR](http://www.cultivatepr.com/) and [Kung Fu Saloon](http://kungfusaloon.com). We couldn’t have thrown this party without you. - -Until next year! diff --git a/_posts/2011-08-16-compasslearning-is-hiring.md b/_posts/2011-08-16-compasslearning-is-hiring.md deleted file mode 100644 index 30a4c118..00000000 --- a/_posts/2011-08-16-compasslearning-is-hiring.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: post -title: CompassLearning is Hiring -author: asexton ---- -On the verge of this month's meeting we'd like to let you know about an opportunity from last month's sponsor: [CompassLearning][1]. - -We're looking for a highly skilled front-end developer who lives and breathes standards. You will have strong experience with standards compliant, semantic HTML and CSS, solid knowledge of JavasScript, DOM-scripting and familiarity with JavaScript frameworks like Sencha, MooTools, JQuery etc. You'll also be proficient with server-side programming using a server-side scripting language like PHP, Python or Ruby and know how to run queries with MySQL, or SQL Server. - -You'll be tackling big and little projects that are fun, challenging and span the spectrum of front-end development.  Sometimes the deadlines are tight, but that's why we're looking for people with great personalities who are team players. When a project is done we'll celebrate, enjoy the view and look forward to the next project wiser and stronger than before. - -We're a casual dress, fun, thriving software company with a great work environment and plenty of growth in our future, so if we've sparked your interest drop us an [email][2] with your resume and a nice portfolio of sites developed and we'll talk. :) - -Responsibilities include but are not limited to: - -* Semantic HTML/CSS coding/updating for assigned projects -* JavaScript/DOM scripting to build interactive but accessible interfaces -* Working with FreeMarker templates and JSON or XML files to expose data to the front-end -* Building specific functionality and modules using a front end framework. -* Interaction with UX team and business users. -* Build efficient and reusable front-end abstractions and systems -* Identify and address performance bottlenecks -* Participate in design and code reviews -* Interact with other team members to incorporate their innovations and vice versa. -* Identify and communicate best practices for front-end engineering - -Required Skills: - -* Ability to write standards based, semantic HTML and CSS and modern layouts using tableless design -* Ability to do DOM scripting with JavaScript and various JS libraries like MooTools, JQuery -* Ability to write well-abstracted, reusable code for UI components -* A strong understanding of modern web practices to create an efficient user-experience -* A good understanding of cross-browser issues and their workarounds -* Experience working with server-side scripting languages like PHP, Python and Ruby -* Knowledge of but not reliant on Object Oriented JavaScript Frameworks (Prototype JS, MooTools, Dojo, etc.) -* Strong portfolio required -* Excellent written and oral communication skills -* Must be a team player and open to change -* Fun and Friendly attitude -* Must have legal authorization to work in the United States - -Bonus: - -* Experience building complicated workflows -* Relevant experience includes self-started personal projects -* Knowledge of web accessibility standards - -* -**Please provide a portfolio of sites developed, either online or with attached files.** - -CompassLearning is a recognized leader in the K-12 educational software industry. In our Learning Studio in Austin, TX, our team of educational experts, graphic artists, writers, and developers create award-winning K-12 curriculum and assessment solutions that motivate today’s students to engage, think & learn. - -K–12 schools use our Odyssey system to personalize instruction, improve test scores, and increase graduation rates. Odyssey influences student success because it is based on current and confirmed research on the way today’s 21st century students acquire knowledge. And teachers and administrators benefit from our custom implementations, excellent customer support, and strong professional development. We have a singular passion for student achievement. - -CompassLearning is an Equal Opportunity Employer. - - [1]: http://compasslearning.com/ "CompassLearning" - [2]: mailto:LSalin@compasslearning.com diff --git a/_posts/2011-10-16-no-october-meetup.md b/_posts/2011-10-16-no-october-meetup.md deleted file mode 100644 index c51881d7..00000000 --- a/_posts/2011-10-16-no-october-meetup.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: post -title: No October Meetup -author: jmccann ---- -Yes, we are just as saddened just as much as you are, but unfortunately all potential hosts for the meetup are unavailable or out of town!  We do have a speaker with some interesting content on Sencha Touch and Phonegap, but it will have to wait until November. - -Stay tuned for next month's meetup details and be sure to follow us on Twitter:  [@austinjs][1]. - - [1]: http://twitter.com/austinjs diff --git a/_posts/2011-12-06-austin-web-bash-2011.md b/_posts/2011-12-06-austin-web-bash-2011.md deleted file mode 100644 index 2400fb54..00000000 --- a/_posts/2011-12-06-austin-web-bash-2011.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: post -title: Austin Web Bash 2011 -author: jmccann ---- -It's that time of year again where the various Austin meetup groups all get together and celebrate the Holidays with song and dance, err maybe it's just some beers and food, yeah, beer and food! - -That's right on Tuesday, December 13th from 7pm to 9pm the greater Austin web community will have its annual holiday gala while also supporting a good cause:  The Capitol Area Food Bank. - -There will be mingling and possibly mistletoe depending on the weather (naturally) and of course free food and beer provided by our gracious sponsors: - -* Austin Ventures - [www.austinventures.com](http://www.austinventures.com/) -* BuildASign - [www.buildasign.com](http://hwww.buildasign.com/) -* CoSpace - [www.cospaceatx.com](http://www.cospaceatx.com/) -* HTML5 Cookbook - [www.amazon.com/dp/1449396798](http://www.amazon.com/dp/1449396798) -* Taecho Group - [www.taechogroup.com](http://www.taechogroup.com/) -* WP Engine - [www.wpengine.com](http://www.wpengine.com/) - -Austin JavaScript is proud to be a part of not only such a great event but a member of an incredibly strong web, dev and design community that is in Austin.  Just look at who else is involved. - -* Austin.rb -* Austin All-Girl Hack Night -* Austin JavaScript -* Austin Lean Startup Circle -* Austin on Rails -* Austin PHP Meetup -* Austin Web Design Meetup -* Austin Web Python Users Group -* Hacks/Hackers ATX -* IxDA-Austin -* Refresh Austin -* WordPress Austin -* Young Woman’s Roundtable - -## TL;DR - -* [www.refreshaustin.org/bash/](http://www.refreshaustin.org/bash/) -* RSVP on Facebook: [http://j.mp/bash2011](http://j.mp/bash2011) (not required, but it helps us plan) -* 7 – 9pm, Tuesday, December 13th, 2011 -* Buffalo Billiards (6th and Brazos) -* **Admission:** At least one canned good for the Capital Area Food Bank (last year we collected 200 pounds of canned goods and $200 cash!). - -See you there! diff --git a/_posts/2012-03-05-2012-austinjs-sxsw-3-year-anniversary-party.md b/_posts/2012-03-05-2012-austinjs-sxsw-3-year-anniversary-party.md deleted file mode 100644 index ffb834c1..00000000 --- a/_posts/2012-03-05-2012-austinjs-sxsw-3-year-anniversary-party.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -layout: post -title: 2012 AustinJS SXSW 3 Year Anniversary Party -author: jmccann ---- -It's that time of year again where Austin gets turned upside down and inside out. That's right, it's the AustinJS SXSW Party and this year, we are going all out. - -We are celebrating over 3 years of community driven content, presentations and discussions at AustinJS from not only local members of the JavaScript community, but from members as far away as Canada, New York, and North Carolina. AustinJS is a group where anyone at any skill level can come and learn new things, talk shop with other members or provide a new perspective on seemingly anything from JavaScript, the front-end, the back-end, mobile or simply software engineering as a whole. This year, the event embraces the culture that is our community by providing an atmosphere where folks can close their laptops and crack open a few beers with their peers. - -To honor our thriving community, we have have chartered a boat, but not just any boat, an electric, carbon-neutral, double-decker paddle-wheeled riverboat to be exact! - -Since the beginning of 2012 AustinJS curator, [Joe McCann][1], has been opening up invitations to the event online and most importantly at the actual meetups themselves. Emailing or @replying on twitter was all it took and now, 150 community leaders and enthusiasts (the maximum legal capacity for the boat!) will be attending what will surely be an unforgettable event. - -Attendees can expect a fully catered experience including plenty of authentic Texas beer, hand made margaritas (with real lime juice, not that crappy sweet and sour mix), and the best Tex-Mex cuisine Austin has to offer, including for dessert, bacon chocolate chip cookies from [Frank][2]! Plus, we will have [DJ Johnny Bravvo][3] spinning quality music (no autotune tracks guaranteed) on the top deck the entire time while local photographer extraordinaire, [Annie Ray][4], will be capturing the experience as well. - -But wait, there's more. - -We will also have VIP, front row seats for the viewing of the infamous "Austin bats" underneath the Congress bridge. What? You didn't know that Austin is home to the world's [largest urban bat colony][5]? Nearly 1.5 million bats fly out every night and it is quite a spectacle to see. We will be front and center! - -Yes, there is still more. - -Charlie Sheen isn't the only person who prefers to be winning, so we have curated a handful of awesome door prizes to be given away throughout the evening. No strings attached. Seriously. We don't even want your email address! To gauge what these prizes could be like, take last year's prizes as as benchmark:and then triple it. Just like Moms and Dads around the world we think everyone is a winner so if you don't score a door prize, don't fret, no one will go home empty handed. - -Finally, it is of great privilege to call out those members of the community who are making this event a reality: our sponsors. This year we have many repeat sponsors from last year's epic event and some new faces as well. Support this year comes from the likes of: - -* [Adobe][6] -* [Microsoft][7] -* [Mozilla][8] -* [subPrint][9] -* [Appcelerator][10] -* [Nodejitsu][11] -* [Geekli.st][12] -* [Telerik][13] -* [TEKSystems][14] -* [Mass Relevance][15] - -All sponsors have played pivotal roles in making this event possible, so please, thank them on the boat when you see them! - -So here's to our ever-growing community, may we all continue to build it up! - - [1]: http://twitter.com/joemccann - [2]: http://hotdogscoldbeer.com/ - [3]: http://www.johnnybravvo.com - [4]: http://annieray.net/ - [5]: http://www.roadsideamerica.com/story/10852 - [6]: http://adobe.com/ - [7]: http://microsoft.com/ - [8]: http://mozilla.com/ - [9]: http://subprint.com/ - [10]: http://appecelerator.com/ - [11]: http://nodejitsu.com/ - [12]: http://geekli.st/ - [13]: http://telerik.com/ - [14]: http://teksystems.com/ - [15]: http://massrelevance.com/ diff --git a/_posts/2012-03-25-2012-austinjs-sxsw-party-wrapup.md b/_posts/2012-03-25-2012-austinjs-sxsw-party-wrapup.md deleted file mode 100644 index ff1ee69b..00000000 --- a/_posts/2012-03-25-2012-austinjs-sxsw-party-wrapup.md +++ /dev/null @@ -1,493 +0,0 @@ ---- -layout: post -title: 2012 AustinJS SXSW Party Wrapup -author: jmccann ---- -![AustinJS SXSW 2012 Party Pic][1] - -Now that SXSW is officially over, we had to share the great experience our community provided and shared in at the AustinJS SXSW Party for 2012.  The party, which was aboard the Lonestar Riverboat, was a historic event as we cruised along Lady Bird Lake basking in the incredible weather of which Mother Nature graced us. - -You could feel the excitement as everyone patiently waited to board the riverboat, anchor tokens in hand. - -![AustinJS SXSW 2012 Party Pic][2] - -The security measures were so strict that it made the TSA look like school crossing guards. - -![AustinJS SXSW 2012 Party Pic][3] - -![AustinJS SXSW 2012 Party Pic][4] - -When it was time, the onboarding began. - -![AustinJS SXSW 2012 Party Pic][5] - -Our guests made their way to the dock where they were greeted by our hosts and given a raffle ticket. - -![AustinJS SXSW 2012 Party Pic][6] - -As music blasted from the top deck, we embarked on our 3 hour tour. - -![AustinJS SXSW 2012 Party Pic][7] - -It wasn’t long before everyone was diving into [Maudie’s][8] tex-mex tacos and enjoying Fireman’s 4 and authentic margaritas from the bar. - -![AustinJS SXSW 2012 Party Pic][9] - -![AustinJS SXSW 2012 Party Pic][10] - -![AustinJS SXSW 2012 Party Pic][11] - -![AustinJS SXSW 2012 Party Pic][12] - -And then the raffle began! - -![AustinJS SXSW 2012 Party Pic][13] - -First up: an 11” Macbook Air, courtesy of [Appcelerator][14]. - -![AustinJS SXSW 2012 Party Pic][15] - -Next up:  Samsung Galaxy Note, courtesy of [Nodejitsu][16]. - -![AustinJS SXSW 2012 Party Pic][17] - -We ate, drank, cruised and socialized to our heart’s content. - -![AustinJS SXSW 2012 Party Pic][18] - -![AustinJS SXSW 2012 Party Pic][19] - -![AustinJS SXSW 2012 Party Pic][20] - -![AustinJS SXSW 2012 Party Pic][21] - -And then gave away more cool stuff.  Samsung Galaxy Tab, courtesy of [Mozilla][22]. - -![AustinJS SXSW 2012 Party Pic][23] - -![AustinJS SXSW 2012 Party Pic][24] - -![AustinJS SXSW 2012 Party Pic][25] - -13” MacBook Air, courtesy of [Adobe][26]. - -![AustinJS SXSW 2012 Party Pic][27] - -![AustinJS SXSW 2012 Party Pic][28] - -![AustinJS SXSW 2012 Party Pic][29] - -Oh, and there were bats. 1.5 million of them. - -![AustinJS SXSW 2012 Party Pic][30] - -![AustinJS SXSW 2012 Party Pic][31] - -And of course, Pork Militia Bacon Cookies from [Frank][32]. - -![AustinJS SXSW 2012 Party Pic][33] - -![AustinJS SXSW 2012 Party Pic][34] - -They were a huge hit. EVEN WITH [@andrewdupont][35] #dupontCAPS. - -![AustinJS SXSW 2012 Party Pic][36] - -![AustinJS SXSW 2012 Party Pic][37] - -![AustinJS SXSW 2012 Party Pic][38] - -Did we mention that we gave away an autographed, framed pic of **Phil Collins** courtesy of [Microsoft][39]? - -![AustinJS SXSW 2012 Party Pic][40] - -![AustinJS SXSW 2012 Party Pic][41] - -The excitement behind Phil warranted an animated gif. - -![AustinJS SXSW 2012 Party Pic][42] - -![AustinJS SXSW 2012 Party Pic][43] - -![AustinJS SXSW 2012 Party Pic][44] - -![AustinJS SXSW 2012 Party Pic][45] - -![AustinJS SXSW 2012 Party Pic][46] - -![AustinJS SXSW 2012 Party Pic][47] - -![AustinJS SXSW 2012 Party Pic][48] - -And before we knew it, we were back at the dock. - -![AustinJS SXSW 2012 Party Pic][49] - -![AustinJS SXSW 2012 Party Pic][50] - -But we had one last surprise: loaded swag bags that included jars of [Mom’s Family Kitchen][51] salsa, large bags of tortilla chips, koozies and cans of [Lone Star][52] beer, mini bottles of [Tito’s][53] vodka, [Microsoft][54] t-shirts and posters, [Adobe][55] sharpies, [Nodejitsu][56] t-shirts, [Appcelerator][57] stickers, [Mozilla][58] flashlight pens, [KendoUI][59] gum from [Telerik][60], [TEKsystems][61] pens and highlighters, [Geekli.st][62] invite code cards and stickers, and gift certificates from [Cultivate PR][63] to [Uchi][64], [Uchiko][65], [Limbo Jewelry][66], [Away Spa][67] and [Trace][68]. - -![AustinJS SXSW 2012 Party Pic][69] - -![AustinJS SXSW 2012 Party Pic][70] - -![AustinJS SXSW 2012 Party Pic][71] - -This entire event would not have been possible without our INCREDIBLE community sponsors: - -* [Microsoft][39] -* [Adobe][26] -* [Mozilla][22] -* [subPrint][72] -* [Appcelerator][14] -* [Nodejitsu][16] -* [TEKsystems][73] -* [Geekli.st][74] -* [Telerik][75] + [Kendo UI][76] -* [Mass Relevance][77] - -Also, we couldn’t have put our plan into action without our outstanding staff: - -Captain Ric and Katy from [Lonestar Riverboat][78] -Photographer:  [Annie Ray][79] -Music:  [DJ Johnny Bravvo][80] -Visual Designer:  [Joon Shin][81] - -Skippers: Bonnie Varner and Katherine McCaslin -Bartender: Stacy Matthews - -Event Lead:  [Mandy Lauderdale][82] -Event Host:  [Joe McCann][83] - -We’ve already begun to plan the party for next year.  There’s a rumor that Burt Reynolds’ moustache might make an appearance. - -![Burt Reynolds][84] - -Want to view all 280 pics from the party? Click below: - - - -  - -![AustinJS SXSW 2012 Party Pic][1]![AustinJS SXSW 2012 Party Pic][85]![AustinJS SXSW 2012 Party Pic][86]![AustinJS SXSW 2012 Party Pic][87]![AustinJS SXSW 2012 Party Pic][88]![AustinJS SXSW 2012 Party Pic][89]![AustinJS SXSW 2012 Party Pic][90]![AustinJS SXSW 2012 Party Pic][2]![AustinJS SXSW 2012 Party Pic][91]![AustinJS SXSW 2012 Party Pic][92]![AustinJS SXSW 2012 Party Pic][93]![AustinJS SXSW 2012 Party Pic][94]![AustinJS SXSW 2012 Party Pic][95]![AustinJS SXSW 2012 Party Pic][3]![AustinJS SXSW 2012 Party Pic][4]![AustinJS SXSW 2012 Party Pic][96]![AustinJS SXSW 2012 Party Pic][97]![AustinJS SXSW 2012 Party Pic][98]![AustinJS SXSW 2012 Party Pic][99]![AustinJS SXSW 2012 Party Pic][100]![AustinJS SXSW 2012 Party Pic][101]![AustinJS SXSW 2012 Party Pic][102]![AustinJS SXSW 2012 Party Pic][103]![AustinJS SXSW 2012 Party Pic][104]![AustinJS SXSW 2012 Party Pic][105]![AustinJS SXSW 2012 Party Pic][106]![AustinJS SXSW 2012 Party Pic][107]![AustinJS SXSW 2012 Party Pic][108]![AustinJS SXSW 2012 Party Pic][109]![AustinJS SXSW 2012 Party Pic][110]![AustinJS SXSW 2012 Party Pic][111]![AustinJS SXSW 2012 Party Pic][112]![AustinJS SXSW 2012 Party Pic][113]![AustinJS SXSW 2012 Party Pic][114]![AustinJS SXSW 2012 Party Pic][115]![AustinJS SXSW 2012 Party Pic][116]![AustinJS SXSW 2012 Party Pic][117]![AustinJS SXSW 2012 Party Pic][118]![AustinJS SXSW 2012 Party Pic][119]![AustinJS SXSW 2012 Party Pic][120]![AustinJS SXSW 2012 Party Pic][121]![AustinJS SXSW 2012 Party Pic][122]![AustinJS SXSW 2012 Party Pic][5]![AustinJS SXSW 2012 Party Pic][123]![AustinJS SXSW 2012 Party Pic][124]![AustinJS SXSW 2012 Party Pic][125]![AustinJS SXSW 2012 Party Pic][126]![AustinJS SXSW 2012 Party Pic][127]![AustinJS SXSW 2012 Party Pic][128]![AustinJS SXSW 2012 Party Pic][129]![AustinJS SXSW 2012 Party Pic][6]![AustinJS SXSW 2012 Party Pic][130]![AustinJS SXSW 2012 Party Pic][131]![AustinJS SXSW 2012 Party Pic][132]![AustinJS SXSW 2012 Party Pic][133]![AustinJS SXSW 2012 Party Pic][18]![AustinJS SXSW 2012 Party Pic][134]![AustinJS SXSW 2012 Party Pic][135]![AustinJS SXSW 2012 Party Pic][136]![AustinJS SXSW 2012 Party Pic][137]![AustinJS SXSW 2012 Party Pic][138]![AustinJS SXSW 2012 Party Pic][139]![AustinJS SXSW 2012 Party Pic][140]![AustinJS SXSW 2012 Party Pic][141]![AustinJS SXSW 2012 Party Pic][142]![AustinJS SXSW 2012 Party Pic][143]![AustinJS SXSW 2012 Party Pic][144]![AustinJS SXSW 2012 Party Pic][145]![AustinJS SXSW 2012 Party Pic][146]![AustinJS SXSW 2012 Party Pic][147]![AustinJS SXSW 2012 Party Pic][148]![AustinJS SXSW 2012 Party Pic][149]![AustinJS SXSW 2012 Party Pic][11]![AustinJS SXSW 2012 Party Pic][150]![AustinJS SXSW 2012 Party Pic][151]![AustinJS SXSW 2012 Party Pic][152]![AustinJS SXSW 2012 Party Pic][153]![AustinJS SXSW 2012 Party Pic][154]![AustinJS SXSW 2012 Party Pic][155]![AustinJS SXSW 2012 Party Pic][156]![AustinJS SXSW 2012 Party Pic][157]![AustinJS SXSW 2012 Party Pic][158]![AustinJS SXSW 2012 Party Pic][159]![AustinJS SXSW 2012 Party Pic][9]![AustinJS SXSW 2012 Party Pic][160]![AustinJS SXSW 2012 Party Pic][161]![AustinJS SXSW 2012 Party Pic][162]![AustinJS SXSW 2012 Party Pic][10]![AustinJS SXSW 2012 Party Pic][163]![AustinJS SXSW 2012 Party Pic][12]![AustinJS SXSW 2012 Party Pic][164]![AustinJS SXSW 2012 Party Pic][165]![AustinJS SXSW 2012 Party Pic][13]![AustinJS SXSW 2012 Party Pic][166]![AustinJS SXSW 2012 Party Pic][167]![AustinJS SXSW 2012 Party Pic][168]![AustinJS SXSW 2012 Party Pic][169]![AustinJS SXSW 2012 Party Pic][170]![AustinJS SXSW 2012 Party Pic][15]![AustinJS SXSW 2012 Party Pic][171]![AustinJS SXSW 2012 Party Pic][172]![AustinJS SXSW 2012 Party Pic][7]![AustinJS SXSW 2012 Party Pic][173]![AustinJS SXSW 2012 Party Pic][174]![AustinJS SXSW 2012 Party Pic][175]![AustinJS SXSW 2012 Party Pic][176]![AustinJS SXSW 2012 Party Pic][177]![AustinJS SXSW 2012 Party Pic][178]![AustinJS SXSW 2012 Party Pic][179]![AustinJS SXSW 2012 Party Pic][180]![AustinJS SXSW 2012 Party Pic][181]![AustinJS SXSW 2012 Party Pic][182]![AustinJS SXSW 2012 Party Pic][183]![AustinJS SXSW 2012 Party Pic][184]![AustinJS SXSW 2012 Party Pic][185]![AustinJS SXSW 2012 Party Pic][186]![AustinJS SXSW 2012 Party Pic][187]![AustinJS SXSW 2012 Party Pic][188]![AustinJS SXSW 2012 Party Pic][189]![AustinJS SXSW 2012 Party Pic][190]![AustinJS SXSW 2012 Party Pic][191]![AustinJS SXSW 2012 Party Pic][192]![AustinJS SXSW 2012 Party Pic][193]![AustinJS SXSW 2012 Party Pic][194]![AustinJS SXSW 2012 Party Pic][195]![AustinJS SXSW 2012 Party Pic][19]![AustinJS SXSW 2012 Party Pic][196]![AustinJS SXSW 2012 Party Pic][197]![AustinJS SXSW 2012 Party Pic][198]![AustinJS SXSW 2012 Party Pic][199]![AustinJS SXSW 2012 Party Pic][20]![AustinJS SXSW 2012 Party Pic][200]![AustinJS SXSW 2012 Party Pic][201]![AustinJS SXSW 2012 Party Pic][202]![AustinJS SXSW 2012 Party Pic][203]![AustinJS SXSW 2012 Party Pic][204]![AustinJS SXSW 2012 Party Pic][205]![AustinJS SXSW 2012 Party Pic][206]![AustinJS SXSW 2012 Party Pic][207]![AustinJS SXSW 2012 Party Pic][17]![AustinJS SXSW 2012 Party Pic][208]![AustinJS SXSW 2012 Party Pic][209]![AustinJS SXSW 2012 Party Pic][210]![AustinJS SXSW 2012 Party Pic][211]![AustinJS SXSW 2012 Party Pic][212]![AustinJS SXSW 2012 Party Pic][213]![AustinJS SXSW 2012 Party Pic][214]![AustinJS SXSW 2012 Party Pic][215]![AustinJS SXSW 2012 Party Pic][21]![AustinJS SXSW 2012 Party Pic][216]![AustinJS SXSW 2012 Party Pic][217]![AustinJS SXSW 2012 Party Pic][218]![AustinJS SXSW 2012 Party Pic][219]![AustinJS SXSW 2012 Party Pic][220]![AustinJS SXSW 2012 Party Pic][221]![AustinJS SXSW 2012 Party Pic][222]![AustinJS SXSW 2012 Party Pic][223]![AustinJS SXSW 2012 Party Pic][224]![AustinJS SXSW 2012 Party Pic][225]![AustinJS SXSW 2012 Party Pic][226]![AustinJS SXSW 2012 Party Pic][227]![AustinJS SXSW 2012 Party Pic][228]![AustinJS SXSW 2012 Party Pic][229]![AustinJS SXSW 2012 Party Pic][230]![AustinJS SXSW 2012 Party Pic][231]![AustinJS SXSW 2012 Party Pic][23]![AustinJS SXSW 2012 Party Pic][232]![AustinJS SXSW 2012 Party Pic][233]![AustinJS SXSW 2012 Party Pic][234]![AustinJS SXSW 2012 Party Pic][235]![AustinJS SXSW 2012 Party Pic][236]![AustinJS SXSW 2012 Party Pic][237]![AustinJS SXSW 2012 Party Pic][24]![AustinJS SXSW 2012 Party Pic][25]![AustinJS SXSW 2012 Party Pic][238]![AustinJS SXSW 2012 Party Pic][239]![AustinJS SXSW 2012 Party Pic][240]![AustinJS SXSW 2012 Party Pic][241]![AustinJS SXSW 2012 Party Pic][242]![AustinJS SXSW 2012 Party Pic][243]![AustinJS SXSW 2012 Party Pic][244]![AustinJS SXSW 2012 Party Pic][245]![AustinJS SXSW 2012 Party Pic][246]![AustinJS SXSW 2012 Party Pic][247]![AustinJS SXSW 2012 Party Pic][248]![AustinJS SXSW 2012 Party Pic][249]![AustinJS SXSW 2012 Party Pic][250]![AustinJS SXSW 2012 Party Pic][251]![AustinJS SXSW 2012 Party Pic][40]![AustinJS SXSW 2012 Party Pic][252]![AustinJS SXSW 2012 Party Pic][253]![AustinJS SXSW 2012 Party Pic][254]![AustinJS SXSW 2012 Party Pic][255]![AustinJS SXSW 2012 Party Pic][256]![AustinJS SXSW 2012 Party Pic][257]![AustinJS SXSW 2012 Party Pic][41]![AustinJS SXSW 2012 Party Pic][258]![AustinJS SXSW 2012 Party Pic][259]![AustinJS SXSW 2012 Party Pic][260]![AustinJS SXSW 2012 Party Pic][43]![AustinJS SXSW 2012 Party Pic][44]![AustinJS SXSW 2012 Party Pic][45]![AustinJS SXSW 2012 Party Pic][261]![AustinJS SXSW 2012 Party Pic][46]![AustinJS SXSW 2012 Party Pic][47]![AustinJS SXSW 2012 Party Pic][48]![AustinJS SXSW 2012 Party Pic][262]![AustinJS SXSW 2012 Party Pic][263]![AustinJS SXSW 2012 Party Pic][264]![AustinJS SXSW 2012 Party Pic][265]![AustinJS SXSW 2012 Party Pic][33]![AustinJS SXSW 2012 Party Pic][34]![AustinJS SXSW 2012 Party Pic][266]![AustinJS SXSW 2012 Party Pic][267]![AustinJS SXSW 2012 Party Pic][268]![AustinJS SXSW 2012 Party Pic][269]![AustinJS SXSW 2012 Party Pic][270]![AustinJS SXSW 2012 Party Pic][271]![AustinJS SXSW 2012 Party Pic][272]![AustinJS SXSW 2012 Party Pic][36]![AustinJS SXSW 2012 Party Pic][273]![AustinJS SXSW 2012 Party Pic][274]![AustinJS SXSW 2012 Party Pic][275]![AustinJS SXSW 2012 Party Pic][276]![AustinJS SXSW 2012 Party Pic][277]![AustinJS SXSW 2012 Party Pic][278]![AustinJS SXSW 2012 Party Pic][37]![AustinJS SXSW 2012 Party Pic][38]![AustinJS SXSW 2012 Party Pic][279]![AustinJS SXSW 2012 Party Pic][280]![AustinJS SXSW 2012 Party Pic][281]![AustinJS SXSW 2012 Party Pic][282]![AustinJS SXSW 2012 Party Pic][283]![AustinJS SXSW 2012 Party Pic][284]![AustinJS SXSW 2012 Party Pic][285]![AustinJS SXSW 2012 Party Pic][30]![AustinJS SXSW 2012 Party Pic][31]![AustinJS SXSW 2012 Party Pic][286]![AustinJS SXSW 2012 Party Pic][287]![AustinJS SXSW 2012 Party Pic][288]![AustinJS SXSW 2012 Party Pic][289]![AustinJS SXSW 2012 Party Pic][27]![AustinJS SXSW 2012 Party Pic][290]![AustinJS SXSW 2012 Party Pic][291]![AustinJS SXSW 2012 Party Pic][292]![AustinJS SXSW 2012 Party Pic][293]![AustinJS SXSW 2012 Party Pic][294]![AustinJS SXSW 2012 Party Pic][295]![AustinJS SXSW 2012 Party Pic][296]![AustinJS SXSW 2012 Party Pic][297]![AustinJS SXSW 2012 Party Pic][298]![AustinJS SXSW 2012 Party Pic][28]![AustinJS SXSW 2012 Party Pic][299]![AustinJS SXSW 2012 Party Pic][300]![AustinJS SXSW 2012 Party Pic][29]![AustinJS SXSW 2012 Party Pic][301]![AustinJS SXSW 2012 Party Pic][302]![AustinJS SXSW 2012 Party Pic][303]![AustinJS SXSW 2012 Party Pic][50]![AustinJS SXSW 2012 Party Pic][304]![AustinJS SXSW 2012 Party Pic][305]![AustinJS SXSW 2012 Party Pic][306]![AustinJS SXSW 2012 Party Pic][307]![AustinJS SXSW 2012 Party Pic][49]![AustinJS SXSW 2012 Party Pic][308]![AustinJS SXSW 2012 Party Pic][309]![AustinJS SXSW 2012 Party Pic][310]![AustinJS SXSW 2012 Party Pic][311]![AustinJS SXSW 2012 Party Pic][312]![AustinJS SXSW 2012 Party Pic][313]![AustinJS SXSW 2012 Party Pic][69]![AustinJS SXSW 2012 Party Pic][314]![AustinJS SXSW 2012 Party Pic][315]![AustinJS SXSW 2012 Party Pic][316]![AustinJS SXSW 2012 Party Pic][317]![AustinJS SXSW 2012 Party Pic][70]![AustinJS SXSW 2012 Party Pic][318]![AustinJS SXSW 2012 Party Pic][319]![AustinJS SXSW 2012 Party Pic][320]![AustinJS SXSW 2012 Party Pic][71] - - [1]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_001.jpg - [2]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_008.jpg - [3]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_014.jpg - [4]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_015.jpg - [5]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_043.jpg - [6]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_051.jpg - [7]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_102.jpg - [8]: http://www.maudies.com/ - [9]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_084.jpg - [10]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_088.jpg - [11]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_073.jpg - [12]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_090.jpg - [13]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_093.jpg - [14]: http://appcelerator.com - [15]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_099.jpg - [16]: http://nodejitsu.com - [17]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_140.jpg - [18]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_056.jpg - [19]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_126.jpg - [20]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_131.jpg - [21]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_149.jpg - [22]: http://mozilla.org - [23]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_166.jpg - [24]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_173.jpg - [25]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_174.jpg - [26]: http://adobe.com - [27]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_242.jpg - [28]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_252.jpg - [29]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_255.jpg - [30]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_236.jpg - [31]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_237.jpg - [32]: http://hotdogscoldbeer.com/ - [33]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_211.jpg - [34]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_212.jpg - [35]: http://twitter.com/andrewdupont - [36]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_220.jpg - [37]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_227.jpg - [38]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_228.jpg - [39]: http://microsoft.com - [40]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_189.jpg - [41]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_196.jpg - [42]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_animated_001.gif - [43]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_200.jpg - [44]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_201.jpg - [45]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_202.jpg - [46]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_204.jpg - [47]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_205.jpg - [48]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_206.jpg - [49]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_264.jpg - [50]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_259.jpg - [51]: http://momsfamilykitchen.com/ - [52]: http://www.lonestarbeer.com/ - [53]: http://titosvodka.com/ - [54]: http://www.microsoft.com/en-us/default.aspx - [55]: http://www.adobe.com/ - [56]: http://nodejitsu.com/ - [57]: http://www.appcelerator.com/ - [58]: http://www.mozilla.org/ - [59]: http://www.kendoui.com/ - [60]: http://www.telerik.com/ - [61]: http://www.teksystems.com/ - [62]: http://geekli.st/beta - [63]: http://cultivateaustin.com/ - [64]: http://www.uchiaustin.com/uchi - [65]: http://www.uchiaustin.com/uchiko - [66]: http://www.limbojewelry.com/ - [67]: http://www.austinawayspa.com/ - [68]: http://www.traceaustin.com/ - [69]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_271.jpg - [70]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_276.jpg - [71]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_280.jpg - [72]: http://subprint.com - [73]: http://teksystems.com - [74]: http://geekli.st - [75]: http://telerik.com - [76]: http://kendoui.com - [77]: http://massrelevance.com - [78]: http://www.lonestarriverboat.com/ - [79]: http://annieray.net/ - [80]: http://johnnybravvo.com/ - [81]: http://twitter.com/J0on - [82]: http://twitter.com/mandylauderdale - [83]: http://twitter.com/joemccann - [84]: http://blog.calindaniel.com/wp-content/uploads/2010/11/02-burt-reynolds-mustache21.jpg - [85]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_002.jpg - [86]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_003.jpg - [87]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_004.jpg - [88]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_005.jpg - [89]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_006.jpg - [90]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_007.jpg - [91]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_009.jpg - [92]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_010.jpg - [93]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_011.jpg - [94]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_012.jpg - [95]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_013.jpg - [96]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_016.jpg - [97]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_017.jpg - [98]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_018.jpg - [99]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_019.jpg - [100]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_020.jpg - [101]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_021.jpg - [102]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_022.jpg - [103]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_023.jpg - [104]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_024.jpg - [105]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_025.jpg - [106]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_026.jpg - [107]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_027.jpg - [108]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_028.jpg - [109]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_029.jpg - [110]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_030.jpg - [111]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_031.jpg - [112]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_032.jpg - [113]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_033.jpg - [114]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_034.jpg - [115]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_035.jpg - [116]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_036.jpg - [117]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_037.jpg - [118]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_038.jpg - [119]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_039.jpg - [120]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_040.jpg - [121]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_041.jpg - [122]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_042.jpg - [123]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_044.jpg - [124]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_045.jpg - [125]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_046.jpg - [126]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_047.jpg - [127]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_048.jpg - [128]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_049.jpg - [129]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_050.jpg - [130]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_052.jpg - [131]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_053.jpg - [132]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_054.jpg - [133]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_055.jpg - [134]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_057.jpg - [135]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_058.jpg - [136]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_059.jpg - [137]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_060.jpg - [138]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_061.jpg - [139]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_062.jpg - [140]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_063.jpg - [141]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_064.jpg - [142]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_065.jpg - [143]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_066.jpg - [144]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_067.jpg - [145]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_068.jpg - [146]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_069.jpg - [147]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_070.jpg - [148]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_071.jpg - [149]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_072.jpg - [150]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_074.jpg - [151]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_075.jpg - [152]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_076.jpg - [153]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_077.jpg - [154]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_078.jpg - [155]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_079.jpg - [156]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_080.jpg - [157]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_081.jpg - [158]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_082.jpg - [159]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_083.jpg - [160]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_085.jpg - [161]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_086.jpg - [162]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_087.jpg - [163]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_089.jpg - [164]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_091.jpg - [165]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_092.jpg - [166]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_094.jpg - [167]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_095.jpg - [168]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_096.jpg - [169]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_097.jpg - [170]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_098.jpg - [171]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_100.jpg - [172]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_101.jpg - [173]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_103.jpg - [174]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_104.jpg - [175]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_105.jpg - [176]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_106.jpg - [177]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_107.jpg - [178]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_108.jpg - [179]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_109.jpg - [180]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_110.jpg - [181]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_111.jpg - [182]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_112.jpg - [183]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_113.jpg - [184]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_114.jpg - [185]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_115.jpg - [186]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_116.jpg - [187]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_117.jpg - [188]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_118.jpg - [189]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_119.jpg - [190]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_120.jpg - [191]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_121.jpg - [192]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_122.jpg - [193]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_123.jpg - [194]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_124.jpg - [195]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_125.jpg - [196]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_127.jpg - [197]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_128.jpg - [198]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_129.jpg - [199]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_130.jpg - [200]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_132.jpg - [201]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_133.jpg - [202]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_134.jpg - [203]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_135.jpg - [204]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_136.jpg - [205]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_137.jpg - [206]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_138.jpg - [207]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_139.jpg - [208]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_141.jpg - [209]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_142.jpg - [210]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_143.jpg - [211]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_144.jpg - [212]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_145.jpg - [213]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_146.jpg - [214]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_147.jpg - [215]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_148.jpg - [216]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_150.jpg - [217]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_151.jpg - [218]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_152.jpg - [219]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_153.jpg - [220]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_154.jpg - [221]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_155.jpg - [222]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_156.jpg - [223]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_157.jpg - [224]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_158.jpg - [225]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_159.jpg - [226]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_160.jpg - [227]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_161.jpg - [228]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_162.jpg - [229]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_163.jpg - [230]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_164.jpg - [231]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_165.jpg - [232]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_167.jpg - [233]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_168.jpg - [234]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_169.jpg - [235]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_170.jpg - [236]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_171.jpg - [237]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_172.jpg - [238]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_175.jpg - [239]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_176.jpg - [240]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_177.jpg - [241]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_178.jpg - [242]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_179.jpg - [243]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_180.jpg - [244]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_181.jpg - [245]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_182.jpg - [246]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_183.jpg - [247]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_184.jpg - [248]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_185.jpg - [249]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_186.jpg - [250]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_187.jpg - [251]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_188.jpg - [252]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_190.jpg - [253]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_191.jpg - [254]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_192.jpg - [255]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_193.jpg - [256]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_194.jpg - [257]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_195.jpg - [258]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_197.jpg - [259]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_198.jpg - [260]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_199.jpg - [261]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_203.jpg - [262]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_207.jpg - [263]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_208.jpg - [264]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_209.jpg - [265]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_210.jpg - [266]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_213.jpg - [267]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_214.jpg - [268]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_215.jpg - [269]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_216.jpg - [270]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_217.jpg - [271]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_218.jpg - [272]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_219.jpg - [273]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_221.jpg - [274]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_222.jpg - [275]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_223.jpg - [276]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_224.jpg - [277]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_225.jpg - [278]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_226.jpg - [279]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_229.jpg - [280]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_230.jpg - [281]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_231.jpg - [282]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_232.jpg - [283]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_233.jpg - [284]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_234.jpg - [285]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_235.jpg - [286]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_238.jpg - [287]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_239.jpg - [288]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_240.jpg - [289]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_241.jpg - [290]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_243.jpg - [291]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_244.jpg - [292]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_245.jpg - [293]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_246.jpg - [294]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_247.jpg - [295]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_248.jpg - [296]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_249.jpg - [297]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_250.jpg - [298]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_251.jpg - [299]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_253.jpg - [300]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_254.jpg - [301]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_256.jpg - [302]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_257.jpg - [303]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_258.jpg - [304]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_260.jpg - [305]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_261.jpg - [306]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_262.jpg - [307]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_263.jpg - [308]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_265.jpg - [309]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_266.jpg - [310]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_267.jpg - [311]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_268.jpg - [312]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_269.jpg - [313]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_270.jpg - [314]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_272.jpg - [315]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_273.jpg - [316]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_274.jpg - [317]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_275.jpg - [318]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_277.jpg - [319]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_278.jpg - [320]: /wp-content/uploads/2012/03/austinjs_sxsw_2012_279.jpg diff --git a/_posts/2014-12-03-austin-web-bash-2014.md b/_posts/2014-12-03-austin-web-bash-2014.md deleted file mode 100644 index 1d17486f..00000000 --- a/_posts/2014-12-03-austin-web-bash-2014.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -title: Austin Web Bash 2014 -author: astacy ---- -Our good friends at [Refresh][1] are hosting the [Austin Web Bash][2] Tuesday December 9th. This is an opportunity for folks from across different meetups in Austin to hang out. Even better, proceeds from the event go towards the [Keep Austin Beautiful][3] organization! - -Come join us next Tuesday! - - [1]: http://www.refreshaustin.org - [2]: https://www.eventbrite.com/e/refresh-austin-web-bash-2014-awbash-tickets-14482151505 - [3]: http://www.keepaustinbeautiful.org diff --git a/_posts/_posts.json b/_posts/_posts.json deleted file mode 100644 index a63d8e9a..00000000 --- a/_posts/_posts.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "permalink": "posts/{{ page.fileSlug }}/" -} diff --git a/_sass/_main.scss b/_sass/_main.scss deleted file mode 100644 index f79e1305..00000000 --- a/_sass/_main.scss +++ /dev/null @@ -1,262 +0,0 @@ -@charset "utf-8"; - -// tetradic harmony via https://color.joelb.dev/hex/ED1878 -$tetradic0: hsl(333, 85%, 45%); // darkened 5% for a11y contrast -$tetradic1: hsl(213, 85%, 45%); // darkened 5% for a11y contrast -$tetradic2: hsl(153, 85%, 40%); // lightness reduced by 10% -$tetradic3: hsl(33, 85%, 50%); - -$primary: $tetradic0; -$info: $tetradic1; - -// @import "../node_modules/bulma/bulma.sass"; - -@import "../node_modules/bulma/sass/utilities/initial-variables.sass"; - -$link: darken($blue, 3%); // darkened 3% for a11y contrast -$scheme-main: $white-ter; -$footer-background-color: $white-ter; - -@import "../node_modules/bulma/sass/utilities/functions.sass"; -@import "../node_modules/bulma/sass/utilities/derived-variables.sass"; -// @import "../node_modules/bulma/sass/utilities/animations.sass"; -@import "../node_modules/bulma/sass/utilities/mixins.sass"; -@import "../node_modules/bulma/sass/utilities/controls.sass"; -@import "../node_modules/bulma/sass/utilities/extends.sass"; - -@import "../node_modules/bulma/sass/base/minireset.sass"; -@import "../node_modules/bulma/sass/base/generic.sass"; -@import "../node_modules/bulma/sass/helpers/_all.sass"; - -@import "../node_modules/bulma/sass/elements/box.sass"; -// @import "../node_modules/bulma/sass/elements/button.sass"; -@import "../node_modules/bulma/sass/elements/container.sass"; -@import "../node_modules/bulma/sass/elements/content.sass"; -@import "../node_modules/bulma/sass/elements/icon.sass"; -@import "../node_modules/bulma/sass/elements/image.sass"; -@import "../node_modules/bulma/sass/elements/notification.sass"; -// @import "../node_modules/bulma/sass/elements/progress.sass"; -// @import "../node_modules/bulma/sass/elements/table.sass"; -// @import "../node_modules/bulma/sass/elements/tag.sass"; -@import "../node_modules/bulma/sass/elements/title.sass"; -// @import "../node_modules/bulma/sass/elements/other.sass"; - -// @import "../node_modules/bulma/sass/form/shared.sass"; -// @import "../node_modules/bulma/sass/form/input-textarea.sass"; -// @import "../node_modules/bulma/sass/form/checkbox-radio"; -// @import "../node_modules/bulma/sass/form/select.sass"; -// @import "../node_modules/bulma/sass/form/file.sass"; -// @import "../node_modules/bulma/sass/form/tools.sass"; - -// @import "../node_modules/bulma/sass/components/breadcrumb.sass"; -@import "../node_modules/bulma/sass/components/card.sass"; -// @import "../node_modules/bulma/sass/components/dropdown.sass"; -@import "../node_modules/bulma/sass/components/level.sass"; -@import "../node_modules/bulma/sass/components/media.sass"; -// @import "../node_modules/bulma/sass/components/menu.sass"; -@import "../node_modules/bulma/sass/components/message.sass"; -// @import "../node_modules/bulma/sass/components/modal.sass"; -@import "../node_modules/bulma/sass/components/navbar.sass"; -@import "../node_modules/bulma/sass/components/pagination.sass"; -@import "../node_modules/bulma/sass/components/panel.sass"; -// @import "../node_modules/bulma/sass/components/tabs.sass"; - -@import "../node_modules/bulma/sass/grid/_all.sass"; -// @import "../node_modules/bulma/sass/grid/columns.sass"; -// @import "../node_modules/bulma/sass/grid/tiles.sass"; - -@import "../node_modules/bulma/sass/layout/_all.sass"; -// @import "../node_modules/bulma/sass/layout/hero.sass"; -// @import "../node_modules/bulma/sass/layout/section.sass"; -// @import "../node_modules/bulma/sass/layout/footer.sass"; - -/* - * BULMA CUSTOMIZATIONS - */ - -.hero-body.is-primary { - background-color: $primary; - - .navbar-item, - .navbar-link { - // reduce opacity for a11y color contrast - color: hsla(0, 100%, 100%, 0.8); - - &:hover, - &:focus { - background-color: darken($primary, 5%); - } - } -} - -.content li + li { - margin-top: 0.5em; -} - -.icon { - vertical-align: bottom; - - .card & { - margin-top: 2px; - width: 2em; - } - - @media screen and (min-width: $desktop) { - .navbar-item & { - margin-bottom: -6px; - } - } -} - -.icon-item { - fill: currentColor; - width: 84%; - - .message-body & { - width: 71%; - } -} - -.page-main { - a { - text-decoration: underline; - text-decoration-color: rgba($link, 0.4); - } -} - -// BUSINESS CARD ADJUSTMENTS -.card, -.footer { - // Add rounded edges to Bulma .image class inside a .card. - .image { - border-radius: 0.25em; - overflow: hidden; - } - } - -/* - * BULMA EXTENDED/INSPIRED - */ - -@media screen and (min-width: $desktop) { - .is-sr-only-desktop { - border: none !important; - clip: rect(0, 0, 0, 0) !important; - height: 0.01em !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - white-space: nowrap !important; - width: 0.01em !important; - } - - // revert to Bulma 0.9.0 padding - .section { - padding-inline: 1.5rem; - } -} - -.has-text-tetradic1 { - color: $tetradic1 !important; -} -.has-text-tetradic2 { - color: $tetradic2 !important; -} -.has-text-tetradic3 { - color: $tetradic3 !important; -} - -.has-border-top { - border-top: 1px solid $white-ter; -} - -.is-marginless-bottom { - margin-bottom: 0 !important; -} - -/* - * bricks for emeritus cards - */ - -.bricks-flex { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - margin: -0.15em; - - .brick { - flex: 1 1 18em; - margin: 0.15em; - max-width: 25em; - } -} - -.brick { - margin-bottom: 1em; -} - -/* - * meetup flex layout (to swap details up on mobile) - */ - - @media screen and (max-width: $tablet) { - .flex-container { - display: flex; - flex-wrap: wrap; - } - .flex-item { - flex: 0 0 100%; - } - .flex-item-0 { - margin-bottom: 2em; - order: -1; - } -} - -/* - * homepage pics - */ - -.pic { - display: inline-block; - font-size: 1rem; - height: 50px; - margin: -2px 4px 0 1px !important; - width: 50px; - - img { - border-radius: 5px; - } -} - -/* - * misc - */ - -.logo { - transform: scale(0.9) translateY(0.25em); -} - -.sponsor-logo { - max-width: 17vw; - min-width: 10em; -} - -.edit-page { - font-size: 0.875rem; - margin-bottom: -2rem; -} - -.arrow-left:before { - content: '← '; -} - -.arrow-right:after { - content: ' →'; -} - -/* - * THE REST - */ - -@import "tooltips"; diff --git a/_sass/_tooltips.scss b/_sass/_tooltips.scss deleted file mode 100644 index d068ca8c..00000000 --- a/_sass/_tooltips.scss +++ /dev/null @@ -1,58 +0,0 @@ -/* - * TOOLTIP - */ - -.tooltip[aria-label] { - position: relative; - - .pic & { - display: inline-block; - } - - /* Hide the tooltip content by default */ - &:before, - &:after { - bottom: 100%; - left: 50%; - opacity: 0; - pointer-events: none; - position: absolute; - transition: 0.5s opacity; - visibility: hidden; - z-index: 100; - } - - /* Position tooltip above the element */ - &:before { - background-color: hsla(0, 0%, 20%, 0.95); - border-radius: 3px; - color: #fff; - content: attr(aria-label); - font-size: 14px; - line-height: 1.2; - margin-bottom: 5px; - margin-left: -80px; - padding: 7px; - text-align: center; - width: 160px; - } - - /* Triangle hack to make tooltip look like a speech bubble */ - &:after { - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 5px solid hsla(0, 0%, 20%, 0.95); - content: " "; - font-size: 0; - line-height: 0; - margin-left: -5px; - width: 0; - } - - /* Show tooltip content on hover */ - &:hover:before, - &:hover:after { - opacity: 1; - visibility: visible; - } -} diff --git a/about.html b/about.html deleted file mode 100644 index efbbb603..00000000 --- a/about.html +++ /dev/null @@ -1,85 +0,0 @@ ---- -layout: base -title: About -meta: - description: Austin JavaScript is a community that meets regularly in Austin, Texas, to discuss JavaScript and the open web. ---- -
-
-
-

About us

-

We are a JavaScript community that meets regularly in Austin, Texas, to discuss a wide range of topics, including:

-
    -
  • The JavaScript language
  • -
  • JavaScript application frameworks
  • -
  • Server and client-side JavaScript
  • -
  • JavaScript on other people's sites
  • -
  • Testing
  • -
  • DevOps
  • -
  • Cryptography
  • -
  • How CSS colors got their names
  • -
  • JavaScript position openings
  • -
-

The group started back in 2009 and has been going strong ever since. For a taste of our rich history, take a peak at the meetup archives—they're full of videos and fascinating characters.

- -

Meetings

-

We typically meet on the 3rd Tuesday of each month somewhere deep in the heart of Austin, Texas — typically downtown. We’ll have a speaker or two, open things up for questions and discussion, and then head to a nearby watering hole to continue the networking and the conversations.

- -

Excellence

-

We work hard to build a community of good natured and helpful people that treat each other with excellence. We’ve formalized what this means into our Code of Conduct.

- -

Colophon

-

Austin JavaScript is powered by <surprise> JavaScript! This website is kept humming by a great many spectacular moving parts. Here are but a few:

- -
-
- -
-
-
-

Organizers

-

Austin JavaScript is made possible by the goodwill and hard work of a great many people. Please reach out to the following folks if you have any questions or want to get more involved.

-
- -
- {%- for key in people -%} - {%- assign person = key[1] -%} - {%- if person.status == 'active' -%} -
- {%- include 'business-card.liquid', size: 'small' -%} -
- {%- endif -%} - {%- endfor -%} -
-
- -
-
-

Emeriti

-

These past leaders helped make Austin JavaScript what it is today.

-
- -
- {%- for key in people -%} - {%- assign person = key[1] -%} - {%- if person.status == 'emeriti' -%} -
- {%- include 'business-card.liquid', size: 'small' -%} -
- {%- endif -%} - {%- endfor -%} -
-
-
-
diff --git a/about/index.html b/about/index.html new file mode 100644 index 00000000..1586cc44 --- /dev/null +++ b/about/index.html @@ -0,0 +1 @@ +About•Austin JavaScript

About us

We are a JavaScript community that meets regularly in Austin, Texas, to discuss a wide range of topics, including:

  • The JavaScript language
  • JavaScript application frameworks
  • Server and client-side JavaScript
  • JavaScript on other people's sites
  • Testing
  • DevOps
  • Cryptography
  • How CSS colors got their names
  • JavaScript position openings

The group started back in 2009 and has been going strong ever since. For a taste of our rich history, take a peak at the meetup archives—they're full of videos and fascinating characters.

Meetings

We typically meet on the 3rd Tuesday of each month somewhere deep in the heart of Austin, Texas — typically downtown. We’ll have a speaker or two, open things up for questions and discussion, and then head to a nearby watering hole to continue the networking and the conversations.

Excellence

We work hard to build a community of good natured and helpful people that treat each other with excellence. We’ve formalized what this means into our Code of Conduct.

Colophon

Austin JavaScript is powered by <surprise> JavaScript! This website is kept humming by a great many spectacular moving parts. Here are but a few:

Organizers

Austin JavaScript is made possible by the goodwill and hard work of a great many people. Please reach out to the following folks if you have any questions or want to get more involved.

Kevin Kipp

Kevin Kipp

Joah Gerstenberg

Joah Gerstenberg

Suzanne Rozier

Suzanne Rozier

Collier King

Collier King

Dylan Briar

Dylan Briar

Emeriti

These past leaders helped make Austin JavaScript what it is today.

Joe McCann

Joe McCann

Alex Sexton

Alex Sexton

Rebecca Murphey

Rebecca Murphey

Lon Ingram

Lon Ingram

Aaron Stacy

Aaron Stacy

Andrew Levine

Andrew Levine

Patrick Costanzo

Patrick Costanzo

Fred Guest

Fred Guest

Edit this page

\ No newline at end of file diff --git a/april-15th-meetup-730-pm-charles-lowell/index.html b/april-15th-meetup-730-pm-charles-lowell/index.html new file mode 100644 index 00000000..657b0017 --- /dev/null +++ b/april-15th-meetup-730-pm-charles-lowell/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/04/15/.

\ No newline at end of file diff --git a/april-2012-meetup-details-announced/index.html b/april-2012-meetup-details-announced/index.html new file mode 100644 index 00000000..2860693b --- /dev/null +++ b/april-2012-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/04/17/.

\ No newline at end of file diff --git a/april-21st-meetup-730-pm-tara-vancil/index.html b/april-21st-meetup-730-pm-tara-vancil/index.html new file mode 100644 index 00000000..2a0fc989 --- /dev/null +++ b/april-21st-meetup-730-pm-tara-vancil/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2015/04/21/.

\ No newline at end of file diff --git a/april-meetup-announced-building-desktop-applications-using-adobe-air-and-javascript/index.html b/april-meetup-announced-building-desktop-applications-using-adobe-air-and-javascript/index.html new file mode 100644 index 00000000..7ba18087 --- /dev/null +++ b/april-meetup-announced-building-desktop-applications-using-adobe-air-and-javascript/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/04/20/.

\ No newline at end of file diff --git a/april-meetup-details-announced/index.html b/april-meetup-details-announced/index.html new file mode 100644 index 00000000..847ac955 --- /dev/null +++ b/april-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/04/19/.

\ No newline at end of file diff --git a/archive/index.html b/archive/index.html new file mode 100644 index 00000000..7b1da990 --- /dev/null +++ b/archive/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/.

\ No newline at end of file diff --git a/assets/avatar/0HEORfagWR-96.jpeg b/assets/avatar/0HEORfagWR-96.jpeg new file mode 100644 index 00000000..7c7dc481 Binary files /dev/null and b/assets/avatar/0HEORfagWR-96.jpeg differ diff --git a/assets/avatar/0zbd7yyCNw-96.jpeg b/assets/avatar/0zbd7yyCNw-96.jpeg new file mode 100644 index 00000000..9e1e48ba Binary files /dev/null and b/assets/avatar/0zbd7yyCNw-96.jpeg differ diff --git a/assets/avatar/11wbiELrak-96.jpeg b/assets/avatar/11wbiELrak-96.jpeg new file mode 100644 index 00000000..b57120e5 Binary files /dev/null and b/assets/avatar/11wbiELrak-96.jpeg differ diff --git a/assets/avatar/148u8dxev7-96.jpeg b/assets/avatar/148u8dxev7-96.jpeg new file mode 100644 index 00000000..93eab732 Binary files /dev/null and b/assets/avatar/148u8dxev7-96.jpeg differ diff --git a/assets/avatar/2a0uBDk8i8-96.jpeg b/assets/avatar/2a0uBDk8i8-96.jpeg new file mode 100644 index 00000000..008bce61 Binary files /dev/null and b/assets/avatar/2a0uBDk8i8-96.jpeg differ diff --git a/assets/avatar/49m_o7b0o2-73.jpeg b/assets/avatar/49m_o7b0o2-73.jpeg new file mode 100644 index 00000000..ffa1f194 Binary files /dev/null and b/assets/avatar/49m_o7b0o2-73.jpeg differ diff --git a/assets/avatar/4L3BdnUQW9-96.jpeg b/assets/avatar/4L3BdnUQW9-96.jpeg new file mode 100644 index 00000000..bd7fd50d Binary files /dev/null and b/assets/avatar/4L3BdnUQW9-96.jpeg differ diff --git a/assets/avatar/4mmn7n00Bq-96.jpeg b/assets/avatar/4mmn7n00Bq-96.jpeg new file mode 100644 index 00000000..27190118 Binary files /dev/null and b/assets/avatar/4mmn7n00Bq-96.jpeg differ diff --git a/assets/avatar/5SkO0PDf73-96.jpeg b/assets/avatar/5SkO0PDf73-96.jpeg new file mode 100644 index 00000000..e3ac2cab Binary files /dev/null and b/assets/avatar/5SkO0PDf73-96.jpeg differ diff --git a/assets/avatar/5em9DGoA56-70.jpeg b/assets/avatar/5em9DGoA56-70.jpeg new file mode 100644 index 00000000..862ddfd8 Binary files /dev/null and b/assets/avatar/5em9DGoA56-70.jpeg differ diff --git a/assets/avatar/5hczD9uc8g-96.jpeg b/assets/avatar/5hczD9uc8g-96.jpeg new file mode 100644 index 00000000..5ac515d0 Binary files /dev/null and b/assets/avatar/5hczD9uc8g-96.jpeg differ diff --git a/assets/avatar/5iZ9jq-yiJ-96.jpeg b/assets/avatar/5iZ9jq-yiJ-96.jpeg new file mode 100644 index 00000000..953192a6 Binary files /dev/null and b/assets/avatar/5iZ9jq-yiJ-96.jpeg differ diff --git a/assets/avatar/6G2QPRP5o9-96.jpeg b/assets/avatar/6G2QPRP5o9-96.jpeg new file mode 100644 index 00000000..971aacf8 Binary files /dev/null and b/assets/avatar/6G2QPRP5o9-96.jpeg differ diff --git a/assets/avatar/6nHgXXPpF1-96.jpeg b/assets/avatar/6nHgXXPpF1-96.jpeg new file mode 100644 index 00000000..9a5bdab7 Binary files /dev/null and b/assets/avatar/6nHgXXPpF1-96.jpeg differ diff --git a/assets/avatar/8EhHT8kUQC-96.jpeg b/assets/avatar/8EhHT8kUQC-96.jpeg new file mode 100644 index 00000000..4cc59f8f Binary files /dev/null and b/assets/avatar/8EhHT8kUQC-96.jpeg differ diff --git a/assets/avatar/8defADA9K5-73.jpeg b/assets/avatar/8defADA9K5-73.jpeg new file mode 100644 index 00000000..44e5afad Binary files /dev/null and b/assets/avatar/8defADA9K5-73.jpeg differ diff --git a/assets/avatar/8j-BECUuwp-96.jpeg b/assets/avatar/8j-BECUuwp-96.jpeg new file mode 100644 index 00000000..daeea796 Binary files /dev/null and b/assets/avatar/8j-BECUuwp-96.jpeg differ diff --git a/assets/avatar/9iesTyE0hm-73.jpeg b/assets/avatar/9iesTyE0hm-73.jpeg new file mode 100644 index 00000000..e8ba31e0 Binary files /dev/null and b/assets/avatar/9iesTyE0hm-73.jpeg differ diff --git a/assets/avatar/AVahlHl-EN-96.jpeg b/assets/avatar/AVahlHl-EN-96.jpeg new file mode 100644 index 00000000..9960e799 Binary files /dev/null and b/assets/avatar/AVahlHl-EN-96.jpeg differ diff --git a/assets/avatar/AgfAWNWVd_-73.jpeg b/assets/avatar/AgfAWNWVd_-73.jpeg new file mode 100644 index 00000000..9cc99b5e Binary files /dev/null and b/assets/avatar/AgfAWNWVd_-73.jpeg differ diff --git a/assets/avatar/B4dq02xM5p-96.jpeg b/assets/avatar/B4dq02xM5p-96.jpeg new file mode 100644 index 00000000..0efb8f12 Binary files /dev/null and b/assets/avatar/B4dq02xM5p-96.jpeg differ diff --git a/assets/avatar/BFaQ0qp7HM-96.jpeg b/assets/avatar/BFaQ0qp7HM-96.jpeg new file mode 100644 index 00000000..9cb52868 Binary files /dev/null and b/assets/avatar/BFaQ0qp7HM-96.jpeg differ diff --git a/assets/avatar/BUU595vaDY-96.jpeg b/assets/avatar/BUU595vaDY-96.jpeg new file mode 100644 index 00000000..28974adf Binary files /dev/null and b/assets/avatar/BUU595vaDY-96.jpeg differ diff --git a/assets/avatar/BaTuuHB1oB-96.jpeg b/assets/avatar/BaTuuHB1oB-96.jpeg new file mode 100644 index 00000000..3a849293 Binary files /dev/null and b/assets/avatar/BaTuuHB1oB-96.jpeg differ diff --git a/assets/avatar/CjSeODVPXP-96.jpeg b/assets/avatar/CjSeODVPXP-96.jpeg new file mode 100644 index 00000000..5e020c29 Binary files /dev/null and b/assets/avatar/CjSeODVPXP-96.jpeg differ diff --git a/assets/avatar/Cm0yhSnJW--96.jpeg b/assets/avatar/Cm0yhSnJW--96.jpeg new file mode 100644 index 00000000..407a546f Binary files /dev/null and b/assets/avatar/Cm0yhSnJW--96.jpeg differ diff --git a/assets/avatar/CqnH0n_o3O-96.jpeg b/assets/avatar/CqnH0n_o3O-96.jpeg new file mode 100644 index 00000000..507fe3ac Binary files /dev/null and b/assets/avatar/CqnH0n_o3O-96.jpeg differ diff --git a/assets/avatar/EJcSvGwoFg-96.jpeg b/assets/avatar/EJcSvGwoFg-96.jpeg new file mode 100644 index 00000000..79e1febf Binary files /dev/null and b/assets/avatar/EJcSvGwoFg-96.jpeg differ diff --git a/assets/avatar/FZgr7vsBWt-96.jpeg b/assets/avatar/FZgr7vsBWt-96.jpeg new file mode 100644 index 00000000..60f14abd Binary files /dev/null and b/assets/avatar/FZgr7vsBWt-96.jpeg differ diff --git a/assets/avatar/GrzI2r14rm-96.jpeg b/assets/avatar/GrzI2r14rm-96.jpeg new file mode 100644 index 00000000..2bfe9506 Binary files /dev/null and b/assets/avatar/GrzI2r14rm-96.jpeg differ diff --git a/assets/avatar/I7ujQtgPaC-96.jpeg b/assets/avatar/I7ujQtgPaC-96.jpeg new file mode 100644 index 00000000..13308042 Binary files /dev/null and b/assets/avatar/I7ujQtgPaC-96.jpeg differ diff --git a/assets/avatar/IHSBoCXGUS-96.jpeg b/assets/avatar/IHSBoCXGUS-96.jpeg new file mode 100644 index 00000000..81520735 Binary files /dev/null and b/assets/avatar/IHSBoCXGUS-96.jpeg differ diff --git a/assets/avatar/IbLY5omIuX-96.jpeg b/assets/avatar/IbLY5omIuX-96.jpeg new file mode 100644 index 00000000..9d390eb1 Binary files /dev/null and b/assets/avatar/IbLY5omIuX-96.jpeg differ diff --git a/assets/avatar/K6mrQ_90G7-73.jpeg b/assets/avatar/K6mrQ_90G7-73.jpeg new file mode 100644 index 00000000..146beea0 Binary files /dev/null and b/assets/avatar/K6mrQ_90G7-73.jpeg differ diff --git a/assets/avatar/KbPmxpu8vw-96.jpeg b/assets/avatar/KbPmxpu8vw-96.jpeg new file mode 100644 index 00000000..0d9c6cfa Binary files /dev/null and b/assets/avatar/KbPmxpu8vw-96.jpeg differ diff --git a/assets/avatar/LfQAUjBTXh-96.jpeg b/assets/avatar/LfQAUjBTXh-96.jpeg new file mode 100644 index 00000000..3d54276a Binary files /dev/null and b/assets/avatar/LfQAUjBTXh-96.jpeg differ diff --git a/assets/avatar/Mb8LHQi_iN-96.jpeg b/assets/avatar/Mb8LHQi_iN-96.jpeg new file mode 100644 index 00000000..2f7119f4 Binary files /dev/null and b/assets/avatar/Mb8LHQi_iN-96.jpeg differ diff --git a/assets/avatar/O2x7_UOUKY-73.jpeg b/assets/avatar/O2x7_UOUKY-73.jpeg new file mode 100644 index 00000000..baa0478e Binary files /dev/null and b/assets/avatar/O2x7_UOUKY-73.jpeg differ diff --git a/assets/avatar/OglBQ8jiR5-96.jpeg b/assets/avatar/OglBQ8jiR5-96.jpeg new file mode 100644 index 00000000..78c7d64e Binary files /dev/null and b/assets/avatar/OglBQ8jiR5-96.jpeg differ diff --git a/assets/avatar/PN87jbxgy5-96.jpeg b/assets/avatar/PN87jbxgy5-96.jpeg new file mode 100644 index 00000000..78f18db3 Binary files /dev/null and b/assets/avatar/PN87jbxgy5-96.jpeg differ diff --git a/assets/avatar/Q8ilUqi-cC-96.jpeg b/assets/avatar/Q8ilUqi-cC-96.jpeg new file mode 100644 index 00000000..19c6ffe1 Binary files /dev/null and b/assets/avatar/Q8ilUqi-cC-96.jpeg differ diff --git a/assets/avatar/QKfGOaiLy6-96.jpeg b/assets/avatar/QKfGOaiLy6-96.jpeg new file mode 100644 index 00000000..4eafb3b6 Binary files /dev/null and b/assets/avatar/QKfGOaiLy6-96.jpeg differ diff --git a/assets/avatar/RCLqvwmep2-96.jpeg b/assets/avatar/RCLqvwmep2-96.jpeg new file mode 100644 index 00000000..11cbcaf0 Binary files /dev/null and b/assets/avatar/RCLqvwmep2-96.jpeg differ diff --git a/assets/avatar/RfdR554cb_-96.jpeg b/assets/avatar/RfdR554cb_-96.jpeg new file mode 100644 index 00000000..d491372f Binary files /dev/null and b/assets/avatar/RfdR554cb_-96.jpeg differ diff --git a/assets/avatar/S4UabaT2SM-96.jpeg b/assets/avatar/S4UabaT2SM-96.jpeg new file mode 100644 index 00000000..7d4d11be Binary files /dev/null and b/assets/avatar/S4UabaT2SM-96.jpeg differ diff --git a/assets/avatar/SSss6RHOn0-96.jpeg b/assets/avatar/SSss6RHOn0-96.jpeg new file mode 100644 index 00000000..d6a9ff88 Binary files /dev/null and b/assets/avatar/SSss6RHOn0-96.jpeg differ diff --git a/assets/avatar/TZIEyXbaZn-96.jpeg b/assets/avatar/TZIEyXbaZn-96.jpeg new file mode 100644 index 00000000..f9d1a5dd Binary files /dev/null and b/assets/avatar/TZIEyXbaZn-96.jpeg differ diff --git a/assets/avatar/WMxBWtWw3M-96.jpeg b/assets/avatar/WMxBWtWw3M-96.jpeg new file mode 100644 index 00000000..99b5719b Binary files /dev/null and b/assets/avatar/WMxBWtWw3M-96.jpeg differ diff --git a/assets/avatar/WplNp_YSSi-96.jpeg b/assets/avatar/WplNp_YSSi-96.jpeg new file mode 100644 index 00000000..e5bb682b Binary files /dev/null and b/assets/avatar/WplNp_YSSi-96.jpeg differ diff --git a/assets/avatar/WwL4eMOPsk-96.jpeg b/assets/avatar/WwL4eMOPsk-96.jpeg new file mode 100644 index 00000000..f484221c Binary files /dev/null and b/assets/avatar/WwL4eMOPsk-96.jpeg differ diff --git a/assets/avatar/X52cll8TZa-96.jpeg b/assets/avatar/X52cll8TZa-96.jpeg new file mode 100644 index 00000000..7d3e8ac1 Binary files /dev/null and b/assets/avatar/X52cll8TZa-96.jpeg differ diff --git a/assets/avatar/XJL7nwtNoY-73.jpeg b/assets/avatar/XJL7nwtNoY-73.jpeg new file mode 100644 index 00000000..81a0892f Binary files /dev/null and b/assets/avatar/XJL7nwtNoY-73.jpeg differ diff --git a/assets/avatar/Xk2WKVqIUG-96.jpeg b/assets/avatar/Xk2WKVqIUG-96.jpeg new file mode 100644 index 00000000..3f6de6a3 Binary files /dev/null and b/assets/avatar/Xk2WKVqIUG-96.jpeg differ diff --git a/assets/avatar/XlUJQ0Xl_7-96.jpeg b/assets/avatar/XlUJQ0Xl_7-96.jpeg new file mode 100644 index 00000000..54188712 Binary files /dev/null and b/assets/avatar/XlUJQ0Xl_7-96.jpeg differ diff --git a/assets/avatar/Y_CzrWLX7z-96.jpeg b/assets/avatar/Y_CzrWLX7z-96.jpeg new file mode 100644 index 00000000..fa8ae5a0 Binary files /dev/null and b/assets/avatar/Y_CzrWLX7z-96.jpeg differ diff --git a/assets/avatar/Yycgv8ZbIc-80.jpeg b/assets/avatar/Yycgv8ZbIc-80.jpeg new file mode 100644 index 00000000..673c7e3d Binary files /dev/null and b/assets/avatar/Yycgv8ZbIc-80.jpeg differ diff --git a/assets/avatar/Z0eIqq56qa-80.jpeg b/assets/avatar/Z0eIqq56qa-80.jpeg new file mode 100644 index 00000000..68e5d656 Binary files /dev/null and b/assets/avatar/Z0eIqq56qa-80.jpeg differ diff --git a/assets/avatar/ZCzXZtjaKS-96.jpeg b/assets/avatar/ZCzXZtjaKS-96.jpeg new file mode 100644 index 00000000..20055e52 Binary files /dev/null and b/assets/avatar/ZCzXZtjaKS-96.jpeg differ diff --git a/assets/avatar/ZJ6epYGX-Y-96.jpeg b/assets/avatar/ZJ6epYGX-Y-96.jpeg new file mode 100644 index 00000000..71185f12 Binary files /dev/null and b/assets/avatar/ZJ6epYGX-Y-96.jpeg differ diff --git a/assets/avatar/ZYUpY_0brX-96.jpeg b/assets/avatar/ZYUpY_0brX-96.jpeg new file mode 100644 index 00000000..7424531e Binary files /dev/null and b/assets/avatar/ZYUpY_0brX-96.jpeg differ diff --git a/assets/avatar/_CQLBT9TR0-96.jpeg b/assets/avatar/_CQLBT9TR0-96.jpeg new file mode 100644 index 00000000..1bbdfe28 Binary files /dev/null and b/assets/avatar/_CQLBT9TR0-96.jpeg differ diff --git a/assets/avatar/awEg4nYM8F-96.jpeg b/assets/avatar/awEg4nYM8F-96.jpeg new file mode 100644 index 00000000..c6ba43d4 Binary files /dev/null and b/assets/avatar/awEg4nYM8F-96.jpeg differ diff --git a/assets/avatar/cQiic9Vqjv-96.jpeg b/assets/avatar/cQiic9Vqjv-96.jpeg new file mode 100644 index 00000000..c51e0832 Binary files /dev/null and b/assets/avatar/cQiic9Vqjv-96.jpeg differ diff --git a/assets/avatar/cfCOdQqiAL-96.jpeg b/assets/avatar/cfCOdQqiAL-96.jpeg new file mode 100644 index 00000000..5f57c215 Binary files /dev/null and b/assets/avatar/cfCOdQqiAL-96.jpeg differ diff --git a/assets/avatar/coePTJfrDM-96.jpeg b/assets/avatar/coePTJfrDM-96.jpeg new file mode 100644 index 00000000..588e49c9 Binary files /dev/null and b/assets/avatar/coePTJfrDM-96.jpeg differ diff --git a/assets/avatar/d7acUhfVwZ-96.jpeg b/assets/avatar/d7acUhfVwZ-96.jpeg new file mode 100644 index 00000000..c0749410 Binary files /dev/null and b/assets/avatar/d7acUhfVwZ-96.jpeg differ diff --git a/assets/avatar/dFOe06E16T-96.jpeg b/assets/avatar/dFOe06E16T-96.jpeg new file mode 100644 index 00000000..ce9bba6d Binary files /dev/null and b/assets/avatar/dFOe06E16T-96.jpeg differ diff --git a/assets/avatar/dN2ymodJYg-96.jpeg b/assets/avatar/dN2ymodJYg-96.jpeg new file mode 100644 index 00000000..4ee063a1 Binary files /dev/null and b/assets/avatar/dN2ymodJYg-96.jpeg differ diff --git a/assets/avatar/e1sNXHYhxA-96.jpeg b/assets/avatar/e1sNXHYhxA-96.jpeg new file mode 100644 index 00000000..6f592332 Binary files /dev/null and b/assets/avatar/e1sNXHYhxA-96.jpeg differ diff --git a/assets/avatar/eBfu-6JNRD-96.jpeg b/assets/avatar/eBfu-6JNRD-96.jpeg new file mode 100644 index 00000000..a79deaa1 Binary files /dev/null and b/assets/avatar/eBfu-6JNRD-96.jpeg differ diff --git a/assets/avatar/f-TOq5jExM-96.jpeg b/assets/avatar/f-TOq5jExM-96.jpeg new file mode 100644 index 00000000..6e78cee6 Binary files /dev/null and b/assets/avatar/f-TOq5jExM-96.jpeg differ diff --git a/assets/avatar/fW8OkYWpPt-96.jpeg b/assets/avatar/fW8OkYWpPt-96.jpeg new file mode 100644 index 00000000..a3cd80ed Binary files /dev/null and b/assets/avatar/fW8OkYWpPt-96.jpeg differ diff --git a/assets/avatar/g1sX0d4aO1-96.jpeg b/assets/avatar/g1sX0d4aO1-96.jpeg new file mode 100644 index 00000000..070674dc Binary files /dev/null and b/assets/avatar/g1sX0d4aO1-96.jpeg differ diff --git a/assets/avatar/gPMZfPmTkz-96.jpeg b/assets/avatar/gPMZfPmTkz-96.jpeg new file mode 100644 index 00000000..5a7a3ef1 Binary files /dev/null and b/assets/avatar/gPMZfPmTkz-96.jpeg differ diff --git a/assets/avatar/gdDsk7cT6s-96.jpeg b/assets/avatar/gdDsk7cT6s-96.jpeg new file mode 100644 index 00000000..f366555f Binary files /dev/null and b/assets/avatar/gdDsk7cT6s-96.jpeg differ diff --git a/assets/avatar/gdXjcuTIVJ-96.jpeg b/assets/avatar/gdXjcuTIVJ-96.jpeg new file mode 100644 index 00000000..d9508946 Binary files /dev/null and b/assets/avatar/gdXjcuTIVJ-96.jpeg differ diff --git a/assets/avatar/gvcwdjku6d-96.jpeg b/assets/avatar/gvcwdjku6d-96.jpeg new file mode 100644 index 00000000..603d1416 Binary files /dev/null and b/assets/avatar/gvcwdjku6d-96.jpeg differ diff --git a/assets/avatar/hicxgfMPhG-96.jpeg b/assets/avatar/hicxgfMPhG-96.jpeg new file mode 100644 index 00000000..08f66843 Binary files /dev/null and b/assets/avatar/hicxgfMPhG-96.jpeg differ diff --git a/assets/avatar/itFsgAg9Pz-96.jpeg b/assets/avatar/itFsgAg9Pz-96.jpeg new file mode 100644 index 00000000..6bfe3160 Binary files /dev/null and b/assets/avatar/itFsgAg9Pz-96.jpeg differ diff --git a/assets/avatar/jm0j_53nE3-96.jpeg b/assets/avatar/jm0j_53nE3-96.jpeg new file mode 100644 index 00000000..5466cc14 Binary files /dev/null and b/assets/avatar/jm0j_53nE3-96.jpeg differ diff --git a/assets/avatar/kXTtin9Nud-96.jpeg b/assets/avatar/kXTtin9Nud-96.jpeg new file mode 100644 index 00000000..8416476c Binary files /dev/null and b/assets/avatar/kXTtin9Nud-96.jpeg differ diff --git a/assets/avatar/kzFB2i1jsx-96.jpeg b/assets/avatar/kzFB2i1jsx-96.jpeg new file mode 100644 index 00000000..424e8e26 Binary files /dev/null and b/assets/avatar/kzFB2i1jsx-96.jpeg differ diff --git a/assets/avatar/n6qZBtLT34-96.jpeg b/assets/avatar/n6qZBtLT34-96.jpeg new file mode 100644 index 00000000..f098194d Binary files /dev/null and b/assets/avatar/n6qZBtLT34-96.jpeg differ diff --git a/assets/avatar/p-HGClkEQL-96.jpeg b/assets/avatar/p-HGClkEQL-96.jpeg new file mode 100644 index 00000000..7049a01d Binary files /dev/null and b/assets/avatar/p-HGClkEQL-96.jpeg differ diff --git a/assets/avatar/p5r76YVWyR-96.jpeg b/assets/avatar/p5r76YVWyR-96.jpeg new file mode 100644 index 00000000..7ac28f19 Binary files /dev/null and b/assets/avatar/p5r76YVWyR-96.jpeg differ diff --git a/assets/avatar/pAVFDfLTVJ-96.jpeg b/assets/avatar/pAVFDfLTVJ-96.jpeg new file mode 100644 index 00000000..62abcf77 Binary files /dev/null and b/assets/avatar/pAVFDfLTVJ-96.jpeg differ diff --git a/assets/avatar/pP9-X8dBwx-96.jpeg b/assets/avatar/pP9-X8dBwx-96.jpeg new file mode 100644 index 00000000..1da531c9 Binary files /dev/null and b/assets/avatar/pP9-X8dBwx-96.jpeg differ diff --git a/assets/avatar/qnix2sgysx-96.jpeg b/assets/avatar/qnix2sgysx-96.jpeg new file mode 100644 index 00000000..9201685c Binary files /dev/null and b/assets/avatar/qnix2sgysx-96.jpeg differ diff --git a/assets/avatar/r9W3WKEKie-96.jpeg b/assets/avatar/r9W3WKEKie-96.jpeg new file mode 100644 index 00000000..94290162 Binary files /dev/null and b/assets/avatar/r9W3WKEKie-96.jpeg differ diff --git a/assets/avatar/rFdpD8FzEV-96.jpeg b/assets/avatar/rFdpD8FzEV-96.jpeg new file mode 100644 index 00000000..d760b05e Binary files /dev/null and b/assets/avatar/rFdpD8FzEV-96.jpeg differ diff --git a/assets/avatar/rmL7KhIT7k-96.jpeg b/assets/avatar/rmL7KhIT7k-96.jpeg new file mode 100644 index 00000000..47140e9f Binary files /dev/null and b/assets/avatar/rmL7KhIT7k-96.jpeg differ diff --git a/assets/avatar/t6bKGNeZTk-96.jpeg b/assets/avatar/t6bKGNeZTk-96.jpeg new file mode 100644 index 00000000..dae11c95 Binary files /dev/null and b/assets/avatar/t6bKGNeZTk-96.jpeg differ diff --git a/assets/avatar/tLt4q35m51-96.jpeg b/assets/avatar/tLt4q35m51-96.jpeg new file mode 100644 index 00000000..fcb92f69 Binary files /dev/null and b/assets/avatar/tLt4q35m51-96.jpeg differ diff --git a/assets/avatar/ulOZ1WIAFv-96.jpeg b/assets/avatar/ulOZ1WIAFv-96.jpeg new file mode 100644 index 00000000..7954b2af Binary files /dev/null and b/assets/avatar/ulOZ1WIAFv-96.jpeg differ diff --git a/assets/avatar/vCrrAUJq-1-73.jpeg b/assets/avatar/vCrrAUJq-1-73.jpeg new file mode 100644 index 00000000..0a79a6d4 Binary files /dev/null and b/assets/avatar/vCrrAUJq-1-73.jpeg differ diff --git a/assets/avatar/vJvNNt5uZP-96.jpeg b/assets/avatar/vJvNNt5uZP-96.jpeg new file mode 100644 index 00000000..0d31c2cc Binary files /dev/null and b/assets/avatar/vJvNNt5uZP-96.jpeg differ diff --git a/assets/avatar/vRvbubwp7W-96.jpeg b/assets/avatar/vRvbubwp7W-96.jpeg new file mode 100644 index 00000000..39f43561 Binary files /dev/null and b/assets/avatar/vRvbubwp7W-96.jpeg differ diff --git a/assets/avatar/vZg3KRCNuJ-96.jpeg b/assets/avatar/vZg3KRCNuJ-96.jpeg new file mode 100644 index 00000000..d5e7def5 Binary files /dev/null and b/assets/avatar/vZg3KRCNuJ-96.jpeg differ diff --git a/assets/avatar/wOIAYJ30sg-96.jpeg b/assets/avatar/wOIAYJ30sg-96.jpeg new file mode 100644 index 00000000..f102fe36 Binary files /dev/null and b/assets/avatar/wOIAYJ30sg-96.jpeg differ diff --git a/assets/avatar/wsuwokyPVV-96.jpeg b/assets/avatar/wsuwokyPVV-96.jpeg new file mode 100644 index 00000000..44758b82 Binary files /dev/null and b/assets/avatar/wsuwokyPVV-96.jpeg differ diff --git a/assets/avatar/x-fTwfFRSB-73.jpeg b/assets/avatar/x-fTwfFRSB-73.jpeg new file mode 100644 index 00000000..d4e959b8 Binary files /dev/null and b/assets/avatar/x-fTwfFRSB-73.jpeg differ diff --git a/assets/avatar/x7Bj2vAWHw-96.jpeg b/assets/avatar/x7Bj2vAWHw-96.jpeg new file mode 100644 index 00000000..9f9523a0 Binary files /dev/null and b/assets/avatar/x7Bj2vAWHw-96.jpeg differ diff --git a/assets/avatar/y0oY28VOtD-96.jpeg b/assets/avatar/y0oY28VOtD-96.jpeg new file mode 100644 index 00000000..df62f965 Binary files /dev/null and b/assets/avatar/y0oY28VOtD-96.jpeg differ diff --git a/assets/avatar/yN5y_e_tkn-96.jpeg b/assets/avatar/yN5y_e_tkn-96.jpeg new file mode 100644 index 00000000..9add3b2f Binary files /dev/null and b/assets/avatar/yN5y_e_tkn-96.jpeg differ diff --git a/assets/avatar/z43SIS-0WX-96.jpeg b/assets/avatar/z43SIS-0WX-96.jpeg new file mode 100644 index 00000000..26a7348f Binary files /dev/null and b/assets/avatar/z43SIS-0WX-96.jpeg differ diff --git a/assets/avatar/zgf1g3vn77-96.jpeg b/assets/avatar/zgf1g3vn77-96.jpeg new file mode 100644 index 00000000..4cb93253 Binary files /dev/null and b/assets/avatar/zgf1g3vn77-96.jpeg differ diff --git a/assets/avatar/zkix-ogTkY-96.jpeg b/assets/avatar/zkix-ogTkY-96.jpeg new file mode 100644 index 00000000..2f424d17 Binary files /dev/null and b/assets/avatar/zkix-ogTkY-96.jpeg differ diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 00000000..832fedbd --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1 @@ +.message:not(:last-child),.level:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.content:not(:last-child),.box:not(:last-child){margin-bottom:1.5rem}/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ul,li,figure,iframe,h1,h2,h3{margin:0;padding:0}h1,h2,h3{font-size:100%;font-weight:normal}ul{list-style:none}input{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}html{background-color:hsl(0,0%,96%);font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}figure,footer,header,section{display:block}body,input{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif}code{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:hsl(0,0%,29%);font-size:1em;font-weight:400;line-height:1.5}a{color:hsl(229,53%,50%);cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:hsl(0,0%,21%)}code{background-color:hsl(0,0%,96%);color:hsl(348,86%,46%);font-size:.875em;font-weight:normal;padding:.25em .5em .25em}img{height:auto;max-width:100%}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:hsl(0,0%,21%);font-weight:700}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:hsl(0,0%,90%) !important}.has-background-white{background-color:#fff !important}.has-text-primary{color:hsl(333,85%,45%) !important}a.has-text-primary:hover,a.has-text-primary:focus{color:hsl(333,85%,35%) !important}.has-text-grey-dark{color:hsl(0,0%,29%) !important}.has-background-grey-lighter{background-color:hsl(0,0%,86%) !important}.is-paddingless{padding:0 !important}.mt-4{margin-top:1rem !important}.mt-5{margin-top:1.5rem !important}.mt-6{margin-top:3rem !important}.pt-4{padding-top:1rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem !important}}.has-text-right{text-align:right !important}@media screen and (min-width: 1024px){.has-text-right-desktop{text-align:right !important}}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block !important}}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:.01em !important}@media screen and (min-width: 1024px){.is-hidden-desktop{display:none !important}}.box{background-color:hsl(0,0%,96%);border-radius:6px;box-shadow:0 .5em 1em -0.125em hsla(0,0%,4%,.1),0 0px 0 1px hsla(0,0%,4%,.02);color:hsl(0,0%,29%);display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 .5em 1em -0.125em hsla(0,0%,4%,.1),0 0 0 1px hsl(229,53%,50%)}a.box:active{box-shadow:inset 0 1px 2px hsla(0,0%,4%,.2),0 0 0 1px hsl(229,53%,50%)}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width: 1024px){.container{max-width:960px}}@media screen and (min-width: 1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width: 1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content p:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3{color:hsl(0,0%,21%);font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content sup{font-size:75%}.content.is-medium{font-size:1.25rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-medium{height:2rem;width:2rem}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:9999px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sup,.subtitle sup{font-size:.75em}.title{color:hsl(0,0%,21%);font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-6{font-size:1rem}.subtitle{color:hsl(0,0%,29%);font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:hsl(0,0%,21%);font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-6{font-size:1rem}.card{background-color:hsl(0,0%,96%);border-radius:.25rem;box-shadow:0 .5em 1em -0.125em hsla(0,0%,4%,.1),0 0px 0 1px hsla(0,0%,4%,.02);color:hsl(0,0%,29%);max-width:100%;position:relative}.card-content:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-content:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-content{background-color:rgba(0,0,0,0);padding:1.5rem}.card .media:not(:last-child){margin-bottom:1.5rem}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}@media screen and (min-width: 769px),print{.level{display:flex}}.media{align-items:flex-start;display:flex;text-align:inherit}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid hsla(0,0%,86%,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid hsla(0,0%,86%,.5);margin-top:1rem;padding-top:1rem}.media-left{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.message{background-color:hsl(0,0%,96%);border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-medium{font-size:1.25rem}.message.is-primary{background-color:hsl(333,85%,96%)}.message.is-primary .message-header{background-color:hsl(333,85%,45%);color:#fff}.message.is-primary .message-body{border-color:hsl(333,85%,45%);color:hsl(333,85%,48%)}.message-header{align-items:center;background-color:hsl(0,0%,29%);border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:hsl(0,0%,86%);border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:hsl(0,0%,29%);padding:1.25em 1.5em}.message-body code{background-color:hsl(0,0%,96%)}.navbar{background-color:hsl(0,0%,96%);min-height:3.25rem;position:relative;z-index:30}.navbar.is-primary{background-color:hsl(333,85%,45%);color:#fff}.navbar.is-primary .navbar-brand>.navbar-item{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active{background-color:hsl(333,85%,40%);color:#fff}@media screen and (min-width: 1024px){.navbar.is-primary .navbar-start>.navbar-item,.navbar.is-primary .navbar-end>.navbar-item{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active{background-color:hsl(333,85%,40%);color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar-brand{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:rgba(0,0,0,0)}.navbar-menu{display:none}.navbar-item{color:hsl(0,0%,29%);display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}a.navbar-item{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active{background-color:hsl(0,0%,98%);color:hsl(229,53%,50%)}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}@media screen and (max-width: 1023px){.navbar>.container{display:block}.navbar-brand .navbar-item{align-items:center;display:flex}.navbar-menu{background-color:hsl(0,0%,96%);box-shadow:0 8px 16px hsla(0,0%,4%,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}}@media screen and (min-width: 1024px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar-item{align-items:center;display:flex}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-0.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-0.75rem}a.navbar-item.is-active{color:hsl(0,0%,4%)}a.navbar-item.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}@media screen and (min-width: 769px),print{.column.is-two-thirds{flex:none;width:66.6666%}.column.is-6{flex:none;width:50%}.column.is-8{flex:none;width:66.66666674%}}@media screen and (min-width: 1024px){.column.is-8-desktop{flex:none;width:66.66666674%}}.columns{margin-left:-0.75rem;margin-right:-0.75rem;margin-top:-0.75rem}.columns:last-child{margin-bottom:-0.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - 0.75rem)}@media screen and (min-width: 769px),print{.columns:not(.is-desktop){display:flex}}.columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1*var(--columnGap));margin-right:calc(-1*var(--columnGap))}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-6{--columnGap: 1.5rem}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (min-width: 1024px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}.tile.is-ancestor{margin-left:-0.75rem;margin-right:-0.75rem;margin-top:-0.75rem}.tile.is-ancestor:last-child{margin-bottom:-0.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0 !important}.tile.is-parent{padding:.75rem}@media screen and (min-width: 769px),print{.tile:not(.is-child){display:flex}.tile.is-6{flex:none;width:50%}.tile.is-8{flex:none;width:66.66666674%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero.is-primary{background-color:hsl(333,85%,45%);color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-primary .navbar-menu{background-color:hsl(333,85%,45%)}}.hero.is-primary .navbar-item{color:hsla(0,0%,100%,.7)}.hero.is-primary a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active{background-color:hsl(333,85%,40%);color:#fff}@media screen and (min-width: 769px),print{.hero.is-medium .hero-body{padding:9rem 4.5rem}}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media screen and (min-width: 769px),print{.hero-body{padding:3rem 3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width: 1024px){.section{padding:3rem 3rem}.section.is-medium{padding:9rem 4.5rem}}.footer{background-color:hsl(0,0%,96%);padding:3rem 1.5rem 6rem}.hero-body.is-primary{background-color:hsl(333,85%,45%)}.hero-body.is-primary .navbar-item{color:rgba(255,255,255,.8)}.hero-body.is-primary .navbar-item:hover,.hero-body.is-primary .navbar-item:focus{background-color:hsl(333,85%,40%)}.content li+li{margin-top:.5em}.icon{vertical-align:bottom}.card .icon{margin-top:2px;width:2em}@media screen and (min-width: 1024px){.navbar-item .icon{margin-bottom:-6px}}.icon-item{fill:currentColor;width:84%}.message-body .icon-item{width:71%}.page-main a{text-decoration:underline;text-decoration-color:hsla(229,53%,50%,.4)}.card .image,.footer .image{border-radius:.25em;overflow:hidden}@media screen and (min-width: 1024px){.is-sr-only-desktop{border:none !important;clip:rect(0, 0, 0, 0) !important;height:.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:.01em !important}.section{padding-inline:1.5rem}}.has-text-tetradic1{color:hsl(213,85%,45%) !important}.has-text-tetradic2{color:hsl(153,85%,40%) !important}.has-text-tetradic3{color:hsl(33,85%,50%) !important}.is-marginless-bottom{margin-bottom:0 !important}.bricks-flex{display:flex;flex-wrap:wrap;justify-content:flex-start;margin:-0.15em}.bricks-flex .brick{flex:1 1 18em;margin:.15em;max-width:25em}.brick{margin-bottom:1em}@media screen and (max-width: 769px){.flex-container{display:flex;flex-wrap:wrap}.flex-item{flex:0 0 100%}.flex-item-0{margin-bottom:2em;order:-1}}.pic{display:inline-block;font-size:1rem;height:50px;margin:-2px 4px 0 1px !important;width:50px}.pic img{border-radius:5px}.logo{transform:scale(0.9) translateY(0.25em)}.sponsor-logo{max-width:17vw;min-width:10em}.edit-page{font-size:.875rem;margin-bottom:-2rem}.arrow-left:before{content:"← "}.arrow-right:after{content:" →"}.tooltip[aria-label]{position:relative}.pic .tooltip[aria-label]{display:inline-block}.tooltip[aria-label]:before,.tooltip[aria-label]:after{bottom:100%;left:50%;opacity:0;pointer-events:none;position:absolute;transition:.5s opacity;visibility:hidden;z-index:100}.tooltip[aria-label]:before{background-color:rgba(51,51,51,.95);border-radius:3px;color:#fff;content:attr(aria-label);font-size:14px;line-height:1.2;margin-bottom:5px;margin-left:-80px;padding:7px;text-align:center;width:160px}.tooltip[aria-label]:after{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid rgba(51,51,51,.95);content:" ";font-size:0;line-height:0;margin-left:-5px;width:0}.tooltip[aria-label]:hover:before,.tooltip[aria-label]:hover:after{opacity:1;visibility:visible} diff --git a/assets/img/y2zgwUX3_0-1600.jpeg b/assets/img/y2zgwUX3_0-1600.jpeg new file mode 100644 index 00000000..f0bf49ad Binary files /dev/null and b/assets/img/y2zgwUX3_0-1600.jpeg differ diff --git a/assets/img/y2zgwUX3_0-400.jpeg b/assets/img/y2zgwUX3_0-400.jpeg new file mode 100644 index 00000000..cc5e5ced Binary files /dev/null and b/assets/img/y2zgwUX3_0-400.jpeg differ diff --git a/assets/img/y2zgwUX3_0-800.jpeg b/assets/img/y2zgwUX3_0-800.jpeg new file mode 100644 index 00000000..7f7c2cb8 Binary files /dev/null and b/assets/img/y2zgwUX3_0-800.jpeg differ diff --git a/august-2012-austin-javascript-meetup-details-announced/index.html b/august-2012-austin-javascript-meetup-details-announced/index.html new file mode 100644 index 00000000..7ea35fe0 --- /dev/null +++ b/august-2012-austin-javascript-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/08/21/.

\ No newline at end of file diff --git a/august-26th-meetup-730-pm-jonathan-lipps/index.html b/august-26th-meetup-730-pm-jonathan-lipps/index.html new file mode 100644 index 00000000..70974095 --- /dev/null +++ b/august-26th-meetup-730-pm-jonathan-lipps/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/08/26/.

\ No newline at end of file diff --git a/august-meetup-details-announced/index.html b/august-meetup-details-announced/index.html new file mode 100644 index 00000000..4d223c7e --- /dev/null +++ b/august-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/08/17/.

\ No newline at end of file diff --git a/august-meetup-details/index.html b/august-meetup-details/index.html new file mode 100644 index 00000000..2c6910f0 --- /dev/null +++ b/august-meetup-details/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/08/16/.

\ No newline at end of file diff --git a/austin-javascript-2011-sxsw-party/index.html b/austin-javascript-2011-sxsw-party/index.html new file mode 100644 index 00000000..393097ef --- /dev/null +++ b/austin-javascript-2011-sxsw-party/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/austin-javascript-2011-sxsw-party/.

\ No newline at end of file diff --git a/austin-javascript-email-list/index.html b/austin-javascript-email-list/index.html new file mode 100644 index 00000000..083481cd --- /dev/null +++ b/austin-javascript-email-list/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/austin-javascript-email-list/.

\ No newline at end of file diff --git a/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/index.html b/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/index.html new file mode 100644 index 00000000..1d98258f --- /dev/null +++ b/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/.

\ No newline at end of file diff --git a/austin-javascript-thanksgiving-js-2012/index.html b/austin-javascript-thanksgiving-js-2012/index.html new file mode 100644 index 00000000..9daec3e2 --- /dev/null +++ b/austin-javascript-thanksgiving-js-2012/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/11/19/.

\ No newline at end of file diff --git a/austin-js-sxsw-party-and-devunplugged/index.html b/austin-js-sxsw-party-and-devunplugged/index.html new file mode 100644 index 00000000..16294996 --- /dev/null +++ b/austin-js-sxsw-party-and-devunplugged/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/austin-js-sxsw-party-and-devunplugged/.

\ No newline at end of file diff --git a/austin-web-bash-2011/index.html b/austin-web-bash-2011/index.html new file mode 100644 index 00000000..8d8a3382 --- /dev/null +++ b/austin-web-bash-2011/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/austin-web-bash-2011/.

\ No newline at end of file diff --git a/austin-web-bash-2014/index.html b/austin-web-bash-2014/index.html new file mode 100644 index 00000000..aad474fb --- /dev/null +++ b/austin-web-bash-2014/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/austin-web-bash-2014/.

\ No newline at end of file diff --git a/austin-web-community-holiday-bash/index.html b/austin-web-community-holiday-bash/index.html new file mode 100644 index 00000000..8e8b08f6 --- /dev/null +++ b/austin-web-community-holiday-bash/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/austin-web-community-holiday-bash/.

\ No newline at end of file diff --git a/austinjs-code-of-conduct/index.html b/austinjs-code-of-conduct/index.html new file mode 100644 index 00000000..41dd815a --- /dev/null +++ b/austinjs-code-of-conduct/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /code-of-conduct/.

\ No newline at end of file diff --git a/code-of-conduct.html b/code-of-conduct.html deleted file mode 100755 index 1ac61534..00000000 --- a/code-of-conduct.html +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: base -title: Code of Conduct -meta: - description: Our meetup is dedicated to providing a harassment-free meetup experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. ---- -
-
-
-

Code of conduct

-

All attendees, speakers, sponsors and volunteers at our meetup are required to agree with the following code of conduct. Organizers will enforce this code throughout the event. We expect cooperation from all participants to help ensure a safe, constructive environment for everybody.

-

TL;DR: Be excellent with each other.

- -

The quick version

-

Our meetup is dedicated to providing a harassment-free meetup experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of meetup participants in any form. Sexual language and imagery is not appropriate for any meetup venue, including talks, workshops, parties, Twitter and other online media. Meetup participants violating these rules may be sanctioned or expelled from the meetup without a refund at the discretion of the meetup organizers.

- -

The less quick version

-

Harassment includes offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

-

Participants asked to stop any harassing behavior are expected to comply immediately.

-

Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, activities, or other material.

-

If a participant engages in harassing behavior, the meetup organizers may take any action they deem appropriate, including warning the offender or expulsion from the meetup.

-

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact an organizer immediately.

-

Organizers will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the meetup. We value your attendance.

-

We expect participants to follow these rules at the meetup itself as well as meetup-related social events.

- -

Original source and credit

- -

Please help by translating or improving: http://github.com/leftlogic/confcodeofconduct.com

-

This work is licensed under a Creative Commons Attribution 3.0 Unported License

-
-
- -
-
-

Need help?

-

Contact an organizer in person or via e-mail:

-
    - {%- for key in people -%} - {%- assign person = key[1] -%} - {%- if person.status == 'active' -%} -
  • {{ person.name }}: {{ person.email }}
  • - {%- endif -%} - {%- endfor -%} -
-
-
-
diff --git a/code-of-conduct/index.html b/code-of-conduct/index.html new file mode 100644 index 00000000..f635124b --- /dev/null +++ b/code-of-conduct/index.html @@ -0,0 +1 @@ +Code of Conduct•Austin JavaScript

Code of conduct

All attendees, speakers, sponsors and volunteers at our meetup are required to agree with the following code of conduct. Organizers will enforce this code throughout the event. We expect cooperation from all participants to help ensure a safe, constructive environment for everybody.

TL;DR: Be excellent with each other.

The quick version

Our meetup is dedicated to providing a harassment-free meetup experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of meetup participants in any form. Sexual language and imagery is not appropriate for any meetup venue, including talks, workshops, parties, Twitter and other online media. Meetup participants violating these rules may be sanctioned or expelled from the meetup without a refund at the discretion of the meetup organizers.

The less quick version

Harassment includes offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

Participants asked to stop any harassing behavior are expected to comply immediately.

Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, activities, or other material.

If a participant engages in harassing behavior, the meetup organizers may take any action they deem appropriate, including warning the offender or expulsion from the meetup.

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact an organizer immediately.

Organizers will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the meetup. We value your attendance.

We expect participants to follow these rules at the meetup itself as well as meetup-related social events.

Original source and credit

Please help by translating or improving: http://github.com/leftlogic/confcodeofconduct.com

This work is licensed under a Creative Commons Attribution 3.0 Unported License

Need help?

Contact an organizer in person or via e-mail:

Edit this page

\ No newline at end of file diff --git a/compasslearning-is-hiring/index.html b/compasslearning-is-hiring/index.html new file mode 100644 index 00000000..a4176ee4 --- /dev/null +++ b/compasslearning-is-hiring/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/compasslearning-is-hiring/.

\ No newline at end of file diff --git a/contributing.html b/contributing.html deleted file mode 100644 index 2965d356..00000000 --- a/contributing.html +++ /dev/null @@ -1,84 +0,0 @@ ---- -layout: base -title: Contributing -meta: - description: There are plenty of ways to get involved in your Austin JavaScript community. Here are a few that we could think of. ---- -
-
-
-

Contributing

-

There are plenty of ways to get involved in your Austin JavaScript community.

-
- -
-
-
-

Presenter

-
-

Drop some knowledge on your peeps or brush up on your speaking skills. Presentations typically run 30-50 minutes, with a Q&A session at the end.

-

Can you do that? Sure you can! Let us know if you need help.

-
-
-
- -
-
-

Sponsor

-
-

Keep the masses happy with pizza and drinks!

-

As Sponsor, you get to promote your organization's job openings for what usually amounts to a trivial $300 recruiting line item expense.

-
-
-
-
- -
-
-
-

Host

-
-

Show off your amazing workspace at the next event! Here's what makes a great venue:

-
    -
  • Downtown/central Austin location
  • -
  • Video projection capabilities
  • -
  • Seating for 30-50 people
  • -
  • Place for food and drinks
  • -
  • Convenient nearby parking
  • -
-
-
-
- -
-
-

Crew

-
-

Join the peeps keeping this ship afloat! Here are a few things we usually need help on:

-
    -
  • Recruiting speakers and sponsors
  • -
  • Setting up event food and drinks
  • -
  • Moderating discussion boards
  • -
  • Maintaining the website
  • -
-
-
-
-
-
- -
-
-

Organizers

-

If you are interested in contributing, please contact one of our friendly Organizers:

-
- {%- for key in people -%} - {%- assign person = key[1] -%} - {%- if person.status == 'active' -%} -
- {%- include 'business-card.liquid', size: 'small' -%} -
- {%- endif -%} - {%- endfor -%} -
-
diff --git a/contributing/index.html b/contributing/index.html new file mode 100644 index 00000000..96d929cc --- /dev/null +++ b/contributing/index.html @@ -0,0 +1 @@ +Contributing•Austin JavaScript

Contributing

There are plenty of ways to get involved in your Austin JavaScript community.

Presenter

Drop some knowledge on your peeps or brush up on your speaking skills. Presentations typically run 30-50 minutes, with a Q&A session at the end.

Can you do that? Sure you can! Let us know if you need help.

Sponsor

Keep the masses happy with pizza and drinks!

As Sponsor, you get to promote your organization's job openings for what usually amounts to a trivial $300 recruiting line item expense.

Host

Show off your amazing workspace at the next event! Here's what makes a great venue:

  • Downtown/central Austin location
  • Video projection capabilities
  • Seating for 30-50 people
  • Place for food and drinks
  • Convenient nearby parking

Crew

Join the peeps keeping this ship afloat! Here are a few things we usually need help on:

  • Recruiting speakers and sponsors
  • Setting up event food and drinks
  • Moderating discussion boards
  • Maintaining the website

Organizers

If you are interested in contributing, please contact one of our friendly Organizers:

Kevin Kipp

Kevin Kipp

Joah Gerstenberg

Joah Gerstenberg

Suzanne Rozier

Suzanne Rozier

Collier King

Collier King

Dylan Briar

Dylan Briar

Edit this page

\ No newline at end of file diff --git a/december-open-bar-happy-hour-sponsored-by-teksystems/index.html b/december-open-bar-happy-hour-sponsored-by-teksystems/index.html new file mode 100644 index 00000000..29ebeba8 --- /dev/null +++ b/december-open-bar-happy-hour-sponsored-by-teksystems/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/december-open-bar-happy-hour-sponsored-by-teksystems/.

\ No newline at end of file diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 6f3bbdd2..00000000 Binary files a/favicon.ico and /dev/null differ diff --git a/february-18th-meetup-730-pm-garann-means/index.html b/february-18th-meetup-730-pm-garann-means/index.html new file mode 100644 index 00000000..90fbb51f --- /dev/null +++ b/february-18th-meetup-730-pm-garann-means/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/02/18/.

\ No newline at end of file diff --git a/february-2012-meetup-details-announced/index.html b/february-2012-meetup-details-announced/index.html new file mode 100644 index 00000000..27d2c430 --- /dev/null +++ b/february-2012-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/02/21/.

\ No newline at end of file diff --git a/february-2013-austin-javascript-details-announced/index.html b/february-2013-austin-javascript-details-announced/index.html new file mode 100644 index 00000000..4d2a7110 --- /dev/null +++ b/february-2013-austin-javascript-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2013/02/19/.

\ No newline at end of file diff --git a/february-meetup-announced/index.html b/february-meetup-announced/index.html new file mode 100644 index 00000000..774a11f5 --- /dev/null +++ b/february-meetup-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/02/16/.

\ No newline at end of file diff --git a/february-meetup-details-announced/index.html b/february-meetup-details-announced/index.html new file mode 100644 index 00000000..e510f4c7 --- /dev/null +++ b/february-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/02/15/.

\ No newline at end of file diff --git a/feed.njk b/feed.njk deleted file mode 100644 index 6f56af9e..00000000 --- a/feed.njk +++ /dev/null @@ -1,27 +0,0 @@ ---- -permalink: feed.xml -eleventyExcludeFromCollections: true ---- - - - {{ site.title }} - {{ site.description }} - - - {{ (collections.meetups | last).dateModified | dateToRfc3339 }} - {{ site.url }} - - {{ site.author.name }} - - {%- for post in collections.meetups %} - {% set absolutePostUrl %}{{ post.url | url | absoluteUrl(site.url) }}{% endset %} - - {{ post.data.title }} - - {{ absolutePostUrl }} - {{ post.date | dateToRfc3339 }} - {{ post.dateModified | dateToRfc3339 }} - {{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }} - - {%- endfor %} - diff --git a/feed.xml b/feed.xml new file mode 100644 index 00000000..cce8828e --- /dev/null +++ b/feed.xml @@ -0,0 +1,1464 @@ + + + Austin JavaScript + A community-driven group that meets regularly in Austin, Texas, to discuss JavaScript and the open web. + + + 2025-06-18T15:21:12Z + https://austinjavascript.com + + @AustinJS + + + + Superclassy Inheritance with JavaScript + Web Performance and JavaScript UI Architecture + + https://austinjavascript.com/posts/meetups/2010/01/19/ + 2010-01-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>2010 is off to a ridiculous start for the JavaScript community and this month, we have TWO incredible topics and two renowned and respected speakers: Alex Sexton and Kyle Simpson.</p> +<h2>Superclassy Inheritance with JavaScript</h2> +<p>Superclassy Inheritance with JavaScript is a quick look at the benefits and consequences of several inheritance patterns in JavaScript. Code reuse plays a major role in the DRY development pattern and leveraging the inheritance patterns built into JavaScript or manipulating them can change the way you build and organize large applications. Unfortunately, JavaScript's reputation and odd naming scheme have stopped people from using all the features that it has to offer. First, we'll discuss the array of options that exist and then go through a real-world example while using our newly honed inheritance-foo to make it play nice.</p> +<h2>Web Performance and JavaScript UI Architecture</h2> +<p>Kyle will cover a couple of recent endeavors of mine into improving page- load performance on web sites. One is a set of experiments in various ways to deliver JavaScript code to the browser but to defer its execution until later. Such techniques are particularly well suited to mobile applications, but have some benefit to traditional browser apps as well. The other endeavor is a new site/service just launched at http://2static.it -- a service to provide free sub-domain aliases to create a cookie-free URL to load your static page assets (JS, CSS, images, SWFs, etc).</p> +<p>As time permits, Kyle will also give an intro/preview to both my upcoming talk at Developer-Day Austin and my upcoming talk at SXSW Interactive, on JavaScript UI Architecture. We'll cover a new theory/approach to UI architecture I'm calling CVC (Client-View-Controller), which is a deconstructed variation on the more common MVC pattern. It involves a simple template engine (written in JavaScript) which can run either on the server or in the browser, as well as several JavaScript based &quot;controller&quot; modules.</p> + + + + + JavaScript Quiz + HandlebarJS + + https://austinjavascript.com/posts/meetups/2010/02/16/ + 2010-02-16T00:00:00Z + 2025-06-18T15:21:12Z + <h2>JavaScript Quiz</h2> +<p><strong>Speaker: YOU.</strong> Yes, that's right, you will be participating, okay, only if you want to, but it is highly encouraged.</p> +<p>Recently, Juriy Zaytsev, otherwise known as &quot;kangax&quot; and core developer for Prototype, released a quiz with some rather challenging questions related to some of the unique underpinnings and nuances of the JavaScript language.</p> +<p>We will take the quiz, collectively, and even go through the answers, collectively!  Group participation is key here as the more people contribute, the more people learn.</p> +<h2>JavaScript instance operators, HandlebarJS Templating</h2> +<p>Kyle Simpson will continue the discussions from the JavaScript quizzes and zero in on a few powerful but often-confused JavaScript operators: <code>new</code>, <code>delete</code>, and <code>instanceof</code>. To illustrate the use of these operators, we'll look at a pattern for custom error handling.</p> +<p>Armed with a new found confidence in some of JavaScript's nitty gritty details, we'll take a look at a new templating engine (HandlebarJS) which can run either browser-side or server-side. Coverage will include both the templating syntax as well as a code review of the engine's internals.</p> +<p>Afterwards, the discussion carries on one block away at <a href="http://bit.ly/blsxp" title="Google Map of The Draught House">The Draught House</a>, where it just happens to be pint night so you can get your beer fix here.</p> + + + + + Building Desktop Applications Using Adobe AIR and JavaScript + + https://austinjavascript.com/posts/meetups/2010/04/20/ + 2010-04-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>After a massively successful SXSWi party last month, we are back on schedule for our monthly meetup.  This month, we have a presentation on how to use <a href="http://www.adobe.com/products/air/">Adobe AIR</a> to build desktop applications by Aaron Forsander.</p> +<h2>Building Desktop Applications Using Adobe AIR and JavaScript</h2> +<p>As a JavaScript developer you don't have to limit yourself to the web.  Adobe AIR allows web developers to create desktop applications with technologies they are familiar with including Flash, Flex and JavaScript. This talk demonstrates the basics on how to create desktop applications entirely in JavaScript.  I addition, I will also talk about helpful libraries and frameworks that allow you to develop rapidly, organize your code and unit test. You can do more with Adobe AIR than just build Twitter clients, I promise!</p> + + + + + XUI + Cross Domain Hacking + + https://austinjavascript.com/posts/meetups/2010/06/15/ + 2010-06-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Right on heels of <a href="http://texasjavascript.com/">TXJS,</a> this month's edition of the Austin JavaScript Meetup includes two speakers from TXJS, Joe McCann and Alex Sexton.</p> +<h2>XUI</h2> +<p>Joe will be discussing the slick mobile micro-framework, <a href="http://xuijs.com/">XUI</a>, which you can use to build out mobile websites or even mobile webapps where the targeted device is running a reasonable build of Webkit (namely iPhone, Android, and WebOS).  Popular libraries like jQuery are a bit large in size and contain loads of cross-browser code that is irrelevant in most mobile devices.  XUI is only 3kb and can provide you with a large enough toolkit to get almost any job done.  Joe will introduce the library and how you can start using it right now.</p> +<h2>Cross Domain Hacking</h2> +<p>If you had to rank the best and worst moments of your JavaScript life, you'd probably rank reading &quot;The Good Parts&quot; up towards the top, and deep down at the bottom of the list would be the day that you found out that you couldn't make cross-domain requests in the browser. This talk covers the hacks, tips, and tricks to leave the Same Origin Policy in the dust. So grab a cookie, pad your json, and learn how to communicate properly.</p> + + + + + Introducing Node.js + Scripty + + https://austinjavascript.com/posts/meetups/2010/07/20/ + 2010-07-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>The July meetup details consist of some client side and server side JavaScript discussions. Joe McCann will be providing some info on the ultra hot web server and web app framework Node.js while Andrew Dupont educates us on the latest and greatest features of scripty2.</p> +<h2>Introducing Node.js</h2> +<p>Joe will be introducing <a href="http://nodejs.org/">Node.js</a>, an <a href="https://austinjavascript.com/wiki/Event-driven_architecture" title="Event-driven architecture">evented</a> <a href="https://austinjavascript.com/wiki/I/O" title="I/O">I/O</a> <a href="https://austinjavascript.com/wiki/Software_framework" title="Software framework">framework</a> for the <a href="https://austinjavascript.com/wiki/V8_JavaScript_engine" title="V8 JavaScript engine">V8 JavaScript engine</a>.  Node.js is intended to be used to write scalable network programs such as web servers.  However, Node can also be used as a web app framework in addition to its use as a web server.  Joe will be showing some very high level uses of Node (Hello World), but also some more practical uses including the use of the <a href="http://expressjs.com/">Express framework</a> and even an example of using <a href="http://en.wikipedia.org/wiki/WebSockets">WebSockets</a> with Node.</p> +<h2>Scripty — Successor to script.aculo.us</h2> +<p>The long alpha period of <a href="http://scripty2.com/">scripty2</a>, the successor to <a href="http://script.aculo.us/">script.aculo.us</a>, is nearing a close. Andrew will give a tour of the new scripty2 effects engine — complete with support for CSS transitions and hardware-accelerated animation — and show you the new UI components which boast full compatibility with jQuery UI themes.</p> + + + + + Web Application Design and Coding Strategies + + https://austinjavascript.com/posts/meetups/2010/08/17/ + 2010-08-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>After a huge turnout last month (nearly 40 attendees), we are expecting even bigger and better things this coming month in our August meetup.  We are changing the format a bit with <strong>one presentation</strong>, by Mike McNally on web application design and coding strategies, followed by an <strong>open forum of topics</strong>.</p> +<p>Mike will talk about web application design and coding strategies, and how the domains of &quot;active&quot; page design, unobtrusive Javascript coding, and user experience architecture all collide to give us a great big headache. He'll talk about a small jQuery plugin as an example of harnessing the power of your favorite framework for more than just rounded corners.</p> +<p>After some great discussions during our last meetup (and even afterwards at The Gingerman), we decided to have an open forum discussing various topics at this month's meetup.  Topics will be chosen at random, but please come to the meetup with some ideas or better yet, leave them in the comments or @ reply to <a href="http://twitter.com/austinjs">@austinjs</a> on twitter.</p> + + + + + JavaScript Objects, Constructors, and Prototypes + + https://austinjavascript.com/posts/meetups/2010/09/21/ + 2010-09-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>After another huge turnout in August, we are expecting yet another great meetup for September.  We have an Austin JavaScript veteran, <a href="http://twitter.com/getify">Kyle Simpson</a>, giving a special presentation and we will follow it up with the <strong>open forum of topics</strong>.  So come prepared with ideas for discussion!</p> +<p>Kyle's discussion will be diving deep into the internals of how objects, constructors, and prototypes work. He will also cover many of the important upcoming ES5 changes which are starting to be implemented by the bleeding edge browsers.</p> + + + + + Phonegap + Rapid Prototyping with JavaScript + + https://austinjavascript.com/posts/meetups/2010/10/19/ + 2010-10-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Coming off last month's meetup, we now have the first in our guest speakers series at Austin JavaScript plus another local giving his presentation from <a href="http://jsconf.eu/">JSConf EU</a> in Berlin.</p> +<h2>Phonegap</h2> +<p><a href="http://twitter.com/brianleroux">Brian Leroux</a>, Lead at <a href="http://www.nitobi.com/">Nitobi</a>, co-author of <a href="http://www.phonegap.com/">Phonegap</a>, and creator of projects like <a href="http://xuijs.com/">XUI</a> and <a href="http://brianleroux.github.com/lawnchair/">Lawnchair</a> and <a href="http://wtfjs.com/">wtfjs.com</a> will be flying in from Vancouver, British Columbia, Canada to talk to us about Phonegap, an open source development framework for building cross-platform mobile apps. Phonegap allows you to build apps in HTML and JavaScript and <em>still</em> take advantage of core features in iPhone/iTouch, iPad, Google Android, Palm, Symbian and Blackberry SDKs. Brian will be giving a talk on Phonegap, when you should and should not use it and also showcase the brand new app packaging in the cloud service at <a href="http://build.phonegap.com/">build.phonegap.com</a>.</p> +<h2>Rapid Prototyping with JavaScript</h2> +<p><a href="http://twitter.com/joemccann">Joe McCann</a>, Senior Technologist at <a href="http://frogdesign.com/">frog design</a> and Principal at <a href="http://subprint.com/">subPrint Interactive</a> will be giving his presentation on Rapid Prototyping with JavaScript for Multiple Platforms that he gave in Berlin at JSConf.Eu.  Read the comprehensive description of his talk <a href="http://jsconf.eu/2010/speaker/rapid_prototyping_for_multiple.html">here</a> and go check out the source code for the apps for the demos on <a href="http://github.com/joemccann/Lingua">github</a>.</p> + + + + + has.js, Dojo Foundation, and the CommonJSBrowser Initiative + + https://austinjavascript.com/posts/meetups/2010/11/16/ + 2010-11-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>After last month's large turnout for the first in our guest speaker's series, you may want to consider getting to this month's meetup early.  Not only are we bringing back the roundtable discussion of various JavaScript topics, but we have the Reverend Pete Higgins flying in from Tennessee!</p> +<p>Every time you sniff a browser a baby kitten dies.  Never fear as Pete will be discussing the usage of has.js so many more kittens can live happy lives.  Also, Pete will be chatting up the Dojo Foundation and a brand new CommonJSBrowser Initiative (details at the meetup!).  Follow Pete on twitter at <a href="http://twitter.com/phiggins">@phiggins</a> and be sure to have a look at his campaign at http://higginsforpresident.net.</p> +<p>For the second half of the meetup we will carry on with our new tradition of the open forum where you, yes you and everyone else will have an opportunity to ask a question, bring up a topic or heckle <a href="http://twitter.com/joemccann">@joemccann</a>.  Our latest polls indicate many people enjoy the roundtable discussion so be sure to have some fresh ideas!</p> + + + + + JavaScript Gaming + + https://austinjavascript.com/posts/meetups/2011/01/18/ + 2011-01-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>After a nice break and great happy hour sponsored by <a href="http://teksystems.com/">Tek Systems</a> over December, Austin JavaScript is back in action with a great talk by the local node.js and JavaScript gaming phenom, Bradley Meck.</p> +<p>JavaScript gaming is becoming an even hotter topic as many game developers are moving away from Flash and more towards and &quot;HTML5&quot; framework for implementing games.  Bradley will be discussing the state of game creation in JavaScript, some problems and solutions for developers wanting to create games and finally how to interact with Flash in order to obtain some valuable fallbacks. His presentation will also touch on some of the roadblocks and issues with multi-player games.</p> +<p>Of course we will followup his presentation with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Lettering.js — A jQuery Plugin for Radical Web Typography + + https://austinjavascript.com/posts/meetups/2011/02/15/ + 2011-02-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>This month's meetup we take a step away from the traditionally hardcore, engineering-focused styles talks and presentations and decide to focus back on the user interface and beautifying the web, specifically typography. Neighborhood superstar, Rails aficionado and iOS contemporary <a href="http://twitter.com/davatron5000">Dave Rupert</a> will be discussing and showcasing, <a href="http://www.letteringjs.com/">Lettering.js</a>.</p> +<p>Web type is exploding all over the web but CSS currently doesn't offer complete down-to-the-letter control. While working on the <a href="http://lostworldsfairs.com/">Lost World's Fairs</a> project for Microsoft and the launch of IE9 Beta, Dave Rupert and team needed that level of control. Thus was born, Lettering.js, a jQuery plugin for radical web typography.</p> +<p>We'll be walking through this simple jQuery plugin line-by-line, talking about the art of releasing a jQuery plugin, and peeking at some real-world use cases.</p> +<p>Of course we will followup his presentation with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + The Art of Releasing a jQuery Plugin + Next Gen JavaScript + + https://austinjavascript.com/posts/meetups/2011/04/19/ + 2011-04-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>After a <a href="http://austinjavascript.com/2011-austin-javascript-sxsw-party-wrapup/">massively successful SXSW Party last month</a>, we are back on track with our regular scheduled monthly meetup.  For April, we have a brief yet insightful presentation by a local, <a href="http://twitter.com/howardrauscher">Howard Rauscher</a> on developing 3rd party JavaScript widgets and we'll talk more about the IE9 Developer contest, <a href="http://www.beautyoftheweb.com/#/unplugged">Dev Unplugged</a>.</p> +<p>Recently he started working at a new startup called <a href="http://www.massrelevance.com/">Mass Relevance</a> which provides social media curation and visualizations to media companies such MTV, New York Times, Washington Post, and CNN . One of his primary roles has been to ensure that their JavaScript widgets don't break across majors browsers on customer websites.  Howard's presentation will consist of walking through a simple jQuery plugin (line-by-line), talking about the art of releasing a jQuery plugin and peeking at some real-world use cases.  Noobs and experts will both benefit!</p> +<p>We will also discuss the IE9 developer contest, <a href="http://www.beautyoftheweb.com/#/unplugged">Dev Unplugged</a>, which was announced at the Austin JS SXSW Party last month.  Dev Unplugged is not a just a contest where you can win thousands of dollars in prizes, but it also a way for developers to really explore what is possible with HTML5 and modern web browsers.  As if you needed a reason to be trying out the latest and greatest, Dev Unplugged will reward you for doing so!</p> +<p>Since Austin is the <a href="http://www.ci.austin.tx.us/music/">Live Music Capital of the World</a>, the IE9 team has enticed us to do something cool with the HTML5 Music capabilities.  Here are some ideas to get you going:</p> +<!-- p.p1 {margin: 0.0px 0.0px 13.0px 0.0px; text-indent: -24.0px; font: 15.0px Calibri; color: #06438f} span.s1 {font: 9.0px 'Times New Roman'; color: #235384} span.s2 {font: 15.0px Calibri; text-decoration: underline ; color: #06438f} span.s3 {font: 15.0px Symbol; color: #235384} --> +<p><a href="http://gskinner.com/blog/archives/2011/03/music-visualizer-in-html5-js-with-source-code.html">http://gskinner.com/blog/archives/2011/03/music-visualizer-in-html5-js-with-source-code.html</a></p> +<p><a href="http://9elements.com/io/projects/html5/canvas/">http://9elements.com/io/projects/html5/canvas/</a></p> +<p><a href="http://always-beautiful.bigspaceship.com/">http://always-beautiful.bigspaceship.com</a></p> +<p>Dev Unplugged has a music category for the best “music experience”.  Developers may use their own legally licensed music or the the IE9 Team has provided two tracks for you to experiment with: “Sail” by AWOLNATION and “Boy” by RaRaRiot. Read more about it here:</p> +<p><a href="http://www.beautyoftheweb.com/#/unplugged/categories/music">http://www.beautyoftheweb.com/#/unplugged/categories/music</a></p> +<hr /> +<h2>Special Update</h2> +<p>Last minute special guests are always welcome at the Austin JavaScript Meetup and this month, we have an extra special guest from the <a href="http://www.mozilla.org/">Mozilla</a> team: <a href="http://twitter.com/littlecalculist">David Herman</a>.</p> +<p>David's a member of <a href="http://www.ecma-international.org/memento/TC39.htm">Ecma TC39</a>, the committee designing future versions of the JavaScript language standard. The Ecma committee is hard at work on the design of the next version of JavaScript. David will present some highlights of the cool features we can expect in the future of JavaScript.</p> +<p>Of course we still have everything in store for you as previously planned, but now with some <a href="http://en.wikipedia.org/wiki/Lagniappe">lagniappe</a>!</p> +<hr /> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Modernizr 2 + + https://austinjavascript.com/posts/meetups/2011/05/17/ + 2011-05-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>On the heels of the epic conference week that was <a href="http://2011.jsconf.us/">JSConf</a>and <a href="http://nodeconf.com/">Nodeconf</a>, the Austin JS meetup is finally set for the the month of May.  We will be going over some of the highlights of JSConf and local JavaScript hacker and semi-pro <a href="http://vimeo.com/23575920">videographer</a>, <a href="http://twitter.com/slexaxton">Alex Sexton</a>, will be giving a talk on what to expect out of <a href="http://modernizr.github.com/Modernizr/2.0-beta/">Modernizr 2.0</a>. We will also be giving away a ticket to <a href="http://www.texasjavascript.com/">TXJS</a>.  Seriously.</p> +<p>Modernizr was one of the first libraries on the scene in the 'new-world feature testing religion.' Modernizr 2 is just around the corner and there are some nifty new features in there to help you build modern web apps. Some time would and will be well spent going into how to use Modernizr, but there will also be some more in depth looks into the internals of the core library, build tool, Modernizr.load and into how to extend all of these things for great good. HTML5 today. Straight up.</p> +<p>Did we mention we are giving away a ticket to <a href="http://texasjavascript.com/">TXJS</a>?  It's sold out, btw.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Test-Driving JavaScript with Jasmine + + https://austinjavascript.com/posts/meetups/2011/06/21/ + 2011-06-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Wrapping up the amazing conference that was <a href="http://texasjavascript.com/">TXJS</a>, this month TXJS frontman, <a href="http://twitter.com/slexaxton">Alex Sexton</a> will be hosting June's meetup. We also have Austin local via Chicago, <a href="http://twitter.com/timtyrrell">Tim Tyrrell</a> chatting up <a href="http://pivotal.github.com/jasmine/">Jasmine</a>, the uber-cool JavaScript unit testing framework.</p> +<p>There seems to be a tendency for developers to do an excellent job of unit testing their server-side code but leaving client-side javascript as the new “spaghetti” dumping ground and it doesn’t have to be that way! Jasmine is a nifty Javascript BDD testing framework with a RSpec-like syntax that easily integrates with vanilla JavaScript, jQuery plugins, and even Rails applications.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.</p> + + + + + Realtime Web Apps with Node.js and Socket.io + Couchbase App + + https://austinjavascript.com/posts/meetups/2011/07/19/ + 2011-07-19T00:00:00Z + 2025-06-18T15:21:12Z + <p><em><strong>UPDATE 07/19/11 ::</strong> Meeting moved to 7:45pm to accomodate the owners of our space.</em></p> +<p>It's hot.  We know.  But don't fret, this month, we'll have plenty of cold beverages (courtesy of <a href="http://www.compasslearningodyssey.com/">Compass Learning</a>) alongside a talk by local web developer, <a href="http://twitter.com/AaronForsander">Aaron Forsander</a> (no really, he will be here this time!).</p> +<h2>Realtime Web Apps with Node.js and Socket.io</h2> +<p><a href="http://node.js.org/">Node.js</a> and <a href="http://socket.io/">Socket.io</a> have made web sockets ridiculously easy to implement.  Creating real-time web applications has never been easier.  Couple that with the fact that most new phones have GPS and you've got the potential for some really cool interactivity.  In this talk Aaron will be discussing building realtime mobile web applications and demo a really amazing Android app called Zombie Run and how he's porting it to the web using Node.js and Socket.io.</p> +<p>UPDATE:: 7/15/11</p> +<p>Also (surprise!) joining us will be J Chris Anderson from Couchbase!</p> +<p>Chris was one of the early committers to the Apache CouchDB project and has been working on CouchDB for over 3 years. He's watched CouchDB grow from unknown to a widely deployed and trusted database, now used by large organizations such as the BBC and CERN as well as small organizations like Dimagi using CouchDB on smartphones in rural Africa. Chris has a unique perspective from being involved in all aspects of Couchbase, he is deep into technology but equally involved in the business side of Couchbase</p> +<h2>JavaScript CouchApps Hackalong: jQuery, Couchbase, and a Chat App in 30 minutes or less</h2> +<p>Couchbase is an HTTP server (as well as a database) so it can serve apps directly to the browser. In this talk, we'll build an HTML5 app on Couchbase, at a pace that anyone who knows basic JavaScript will be able to keep up with. At the end we'll create an ad-hoc cluster so we can all chat across the distributed system. I'll talk a little about how you can use the same techniques for serious apps, not just fun chat toys.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.</p> +<p>And bonus time, with <a href="http://twitter.com/joemccann">Joe</a> travelling the world, <a href="http://twitter.com/slexaxton">Alex Sexton</a> will be hosting the meetup again!</p> + + + + + The Fundamentals of JavaScript and jQuery + + https://austinjavascript.com/posts/meetups/2011/08/16/ + 2011-08-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>After last month's massive turnout, it is officially clear that the only way to beat the Austin heat is to come to the Austin JavaScript meetup (duh). With that being said, we are expecting all of you to return for this month's installment of the meetup as we have local living legend, <a href="http://twitter.com/craveytrain">Mike Cravey</a>, here to serve up the fundamentals of JavaScript and jQuery.</p> +<p>Mike's talk will focus on the fundamentals of JavaScript the language. Think you know it all?  We guarantee you will learn something new, unless you are <a href="http://twitter.com/andrewdupont">@andrewdupont</a> BECAUSE HE KNOWS ALL <a href="http://search.twitter.com/?q=#dupontCaps">#dupontCAPS</a>. Moreover, the introductory talk with cover things like function hoisting and closures, but even simpler topics like basic expressions. Noobs are certainly welcome so if you are one or know someone, be sure they attend. The presentation will be a quick one, so feel free to chime in while Cravey runs the show.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.</p> +<p>Since [Joe][3] is still on gypsy status, <a href="http://twitter.com/slexaxton">Alex Sexton</a> will be hosting the meetup again!</p> + + + + + Using ApplicationCache to Speed Up Page Loads and Lawnchair.js For Storing Offline Data + + https://austinjavascript.com/posts/meetups/2011/09/20/ + 2011-09-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>September's meetup welcome's back local node.js hacker, Bradley Meck but this time Bradley is bringing his partner in crime, Kassandra Perch, to talk about not only a buzzword-worthy topic, but also one a topic that is incredibly useful — offline web apps.</p> +<p>Offline features are more than just for when you application is offline or for viewing content offline! Bradley and Kassandra will be discussing how to use ApplicationCache to speed up page loads and Lawnchair.js for storing offline data. They will have an example using Backbone.js' ORM to have an offline application send requests with updated data to a server after it has been offline w/o user interaction.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.</p> +<p><a href="http://twitter.com/joemccann">Joe</a> and <a href="http://twitter.com/slexaxton">Alex</a> will be both be attending <a href="http://funconf.com/">Funconf</a> so local Git, Python and JavaScript master, <a href="http://twitter.com/tswicegood">Travis Swicegood</a> will be guest hosting the meetup.</p> + + + + + Build Native Mobile Apps with Sencha Touch and Phonegap + + https://austinjavascript.com/posts/meetups/2011/11/15/ + 2011-11-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>After an off month in October, we are back this month with another local giving a great talk on how to use web technologies to build native mobile applications with libraries such as Sencha Touch and Phonegap.</p> +<p>Lyle will be discussing the creation of native mobile apps using web technologies.  He'll cover items from development to debugging and distribution of the app. To help demonstrate these concepts, he'll be demoing a recent app that he created called <a href="http://itunes.apple.com/us/app/dateventure/id464979598?mt=8">Dateventure</a>.</p> +<p><a href="http://twitter.com/joemccann">Joe</a> is yet again still out of town so <a href="http://twitter.com/slexaxton">Alex</a> will be guest hosting the meetup.</p> + + + + + Node.js. What Is It? How Does It Work? + + https://austinjavascript.com/posts/meetups/2012/01/17/ + 2012-01-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>Happy New Year!  Now that most of us are back to work after a hopefully relaxing holiday, we are ready to kick off yet another year of solid JavaScript meetups for the Austin area.</p> +<p>This month we have a special guest flying in from New York City — the CTO and co-founder of <a href="http://jit.su/">Nodejitsu</a>, <a href="http://twitter.com/hij1nx">Paolo Fragemeni</a>.  Paolo, a solid computer programmer and veteran hacker has written loads of node.js code including the a significant portion dedicated to the node.js framework, <a href="http://flatironjs.com/">Flatiron</a>.</p> +<p>Node.js. What is it?!! How does it work?!! Paolo will be giving an informative talk on just that — the anatomy of node.js. So whether you are are node.js newbie or a seasoned veteran, this informative talk on node will benefit you.</p> +<p>Also, we will be throwing the <strong>3rd Annual Austin JS SXSW Party</strong> in March so if you and/or your employer/company would like to sponsor the event (or be a part of it), please reach out to <a href="http://twitter.com/joemccann">@joemccann</a> to find out more details.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Toura's Mulberry + + https://austinjavascript.com/posts/meetups/2012/02/21/ + 2012-02-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Following up on last month's stellar presentation by <a href="http://jit.su/">Nodejitsu</a>'s, co-founder and CTO, <a href="http://twitter.com/hij1nx">Paolo Fragemeni</a>, Austin JavaScript is back in February with another mover and shaker in the JavaScript and Mobile development industry, <a href="http://twitter.com/rmurphey">Rebecca Murphey</a>.</p> +<p>Rebecca will be introducing us to Toura's Mulberry, which is an open-source, cross-platform mobile application development framework built on top of <a href="http://phonegap.com/">PhoneGap</a> that lets you use web technologies to produce engaging, content-rich applications. In this talk, Rebecca will give a quick demo of Mulberry basics, then dive in to how they architected the JavaScript, templates, CSS, and tests to create a flexible, pluggable, 100% client-side content publishing system. DON'T SLEEP ON THIS!</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> +<p>Finally, we will be throwing the <strong>3rd Annual Austin JS SXSW Party</strong> in March so if you and/or your employer/company would like to sponsor the event (or be a part of it), please reach out to <a href="http://twitter.com/joemccann">@joemccann</a> to find out more details.</p> + + + + + Build Web Apps with Enyo and Onyx + + https://austinjavascript.com/posts/meetups/2012/04/17/ + 2012-04-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>After another <a href="http://austinjavascript.com/2012-austinjs-sxsw-party-wrapup/">stellar SXSW event</a>, Austin JS is back with another guest speaker, this time with <a href="http://twitter.com/unwiredben">Ben Combee</a> of WebOS fame.</p> +<p>Straightforward and to the point, Ben will be chatting with us on how to build web apps with <a href="http://enyojs.com/">Enyo</a> and <a href="http://enyojs.com/tutorial/onyx.html">Onyx</a>.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + TreeHouse: Using Web Workers to Sandbox JS + + https://austinjavascript.com/posts/meetups/2012/05/15/ + 2012-05-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>This month's Austin JS meetup not only taps into our extensive local talent base, but brings in the academic side of JavaScript as well.  Local JavaScript aficionado, <a href="http://twitter.com/lawnsea">Lon Ingram</a>, will be discussing his University of Texas Honors Thesis, Treehouse.  This is an event not to be missed!</p> +<p>Lon will be presenting TreeHouse, the subject of his honors thesis, which he completed under the supervision of Dr. Michael Walfish. TreeHouse is a system that uses Web Workers to sandbox (mostly) unmodified JavaScript. TreeHouse gives application authors fine-grained control over untrusted code in their application. Authors can control what parts of the DOM untrusted code can see and modify, as well as the API calls it can make.  Is your mind blown yet?</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Mikeal Rogers on Node + + https://austinjavascript.com/posts/meetups/2012/06/19/ + 2012-06-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Coming in just on the heels of what is to be <em>the</em> JavaScript conference of the South, <a href="http://2012.texasjavascript.com/">TXJS</a>, Austin JavaScript has brought another out-of-town guest speaker to the June 2012 meetup.</p> +<p>Mikeal will be talking about node.  That's all he told me.  I foresee a rather bizarre presentation nonetheless.  Word is it may involve Japanese cuisine.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + StatsD at Etsy + + https://austinjavascript.com/posts/meetups/2012/07/17/ + 2012-07-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>It's hot.  We know. Why not come down to this month's meetup and learn some cool things from local front-end expert and O'Reilly published author, <a href="http://twitter.com/garannm">Garann Means</a>!</p> +<p>If you know much about the engineering side of Etsy, you're probably aware that they love their devtools there. <a href="https://github.com/etsy/statsd">StatsD</a> is one of their better-known tools. It's an open source Node service that they use to collect statistics about how the site is working and being used. Garann will talk about the tool itself and about how it fits into Etsy's larger process.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Components of the Google Closure Tools + + https://austinjavascript.com/posts/meetups/2012/08/21/ + 2012-08-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>After last month's huge turnout for the meetup we are expecting yet another large turnout for local software developer and JavaScript aficionado, <a href="http://twitter.com/dtulig">David Tulig</a>.</p> +<p>David's talk will start by going over the components of the Google Closure Tools. This will cover the templates, which are usable on both the client and server, the library, which comes with a dependency management system and a large set of utilities, and the compiler, which performs advanced optimizations to speed up your JavaScript and reduce the size of the final application. He'll then go into detail on how Indeed has leveraged those tools to build resume instant search, covering using the closure tools in development, discussing the architecture that drives the product, and the advantages gained by using the closure tools.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Appcelerator's Titanium + + https://austinjavascript.com/posts/meetups/2012/09/18/ + 2012-09-18T00:00:00Z + 2025-06-18T15:21:12Z + <p><a href="http://appcelerator.com/">Appcelerator</a>, the company behind the awesome mobile app development framework <a href="http://www.appcelerator.com/platform">Titanium</a>, has been a long time supporter of Austin JS going back many years.  This month, we are treated to a special presentation (no, NOT a product pitch) by one of their key (and local!) developers, <a href="http://twitter.com/grantges">Bert Granges</a>, to talk about and show off the latest and greatest that Titanium has to offer.</p> +<p>Ever wonder what it would be like to use JavaScript to build native applications for iOS and Android? Wouldn't it be nice if you could use one codebase for both platforms?  Using JavaScript, Appcelerator Titanium platform and Cloud Services, you'll walk through what it takes to build out a fully functional mobile application supported by backend services. Along the way you will learn how Appcelerator Titanium works and hopefully learn a bit about JavaScript along the way.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.</p> + + + + + Writing Windows Store Apps with JavaScript + + https://austinjavascript.com/posts/meetups/2012/10/16/ + 2012-10-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Post ACL weekend here in Austin, we will be having the last installment of Austin JS for 2012.  Sad Panda, indeed.  This month, we have another local JavaScript expert chatting up Windows 8!</p> +<p>Jonathan Hebert's talk will be about writing Windows Store Apps with JavaScript, including:</p> +<ul> +<li>How to use the Windows Runtime from JavaScript</li> +<li>The WinJS libraries</li> +<li>Async programming with promises</li> +<li>Re-using your Windows Store App code in a browser</li> +<li>Avoiding gotchas in the Windows Store App process</li> +</ul> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>.  Oh wait!  He Hebert's not gonna be there. Guess you Hebert'll have to heckle guest host, <a href="http://twitter.com/slexaxton">@slexaxton</a>!</p> + + + + + Austin JavaScript Thanksgiving.js 2012 + + https://austinjavascript.com/posts/meetups/2012/11/19/ + 2012-11-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Since the timing of the Thanksgiving holidays sadly interrupts Austin JavaScript's monthly meetup schedule, we decided to still get together instead of canceling the meetup entirely.</p> +<p><a href="http://austinjavascript.com/wp-content/uploads/2012/11/thanksgiving.js-400x400.png" rel="lightbox[386]"><img class="size-full wp-image-389 alignnone" title="Thanksgiving.js" src="http://austinjavascript.com/wp-content/uploads/2012/11/thanksgiving.js-400x400.png" alt="Thanksgiving.js" width="400" height="400" /></a></p> +<p>So come and join us for <strong>free beer</strong>, <strong>free food</strong> and an all around good time at our staple pub, <a href="http://aus.gingermanpub.com/">The Ginger Man</a>.  This is purely a social event, but your JS skills may be tested so come prepared!</p> + + + + + Mozilla: Cool New Browser Features + + https://austinjavascript.com/posts/meetups/2013/01/15/ + 2013-01-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Let's ring in the new year with some new JavaScript Hotness. We've got two JavaScript pros flying in from Mozilla to go over some cool new browser features!</p> +<p>Their talk will be about all the brand new stuff in the browser world. They describe it:</p> +<blockquote> +<p>It is no secret that Mozilla has been pushing the boundaries of what the internet is capable of, and has been a fundamental force in evolving the web. This will be a whirlwind tour of exciting JavaScript API's that Mozilla is leading.</p> +<p>They are going to cover a variety of things; Web SMS, Web Telephony, Battery API, Web Vibrator, Touch, Camera, The future of gaming, Mouse Lock, Gamepad API, Gladius.js, Mozilla Open Web apps and Identity/Browser Id. Afterwards there will be a Q &amp; A session covering these topics.</p> +</blockquote> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a>. Alternatively you can heckle new host, <a href="http://twitter.com/slexaxton">@slexaxton</a>!</p> + + + + + Reanimator: Capturing and Replaying JavaScript Applications + + https://austinjavascript.com/posts/meetups/2013/02/19/ + 2013-02-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>February has enough days dedicated to love and romance, so we're dedicating our meetup to <strong>bugs</strong>. We've got local JavaScript free-thinker and theorist Lon Ingram joining us for a talk about bugs and bug reproduction (ewww gross).</p> +<p>Lon will discuss the problem of reproducing and diagnosing bugs reported from the wild, and then present Reanimator, an experimental system for capturing and replaying JavaScript applications. Reanimator captures non-deterministic input to a JavaScript application in a log that can replayed at a later date. It was originally designed for recording web application crashes for later debugging, but Lon will also cover other uses, such as usability testing and tutorials.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/joemccann">@joemccann</a> or <a href="http://twitter.com/slexaxton">@slexaxton</a>!</p> +<p>Any questions or suggestions, please feel free to contact Alex ([@SlexAxton][5]).  Also, be sure to follow us on Twitter: [@AustinJS][6].</p> + + + + + D3 and Data Visualizations + + https://austinjavascript.com/posts/meetups/2013/05/21/ + 2013-05-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>We're back from SXSW and TXJS and ready to get back into action! This month we'll have local JavaScripter, <a href="http://twitter.com/markmarkoh">Mark DiMarco</a> talk about <a href="http://d3js.org/">D3.js</a> and Data Visualizations.</p> +<p>Mark will give an intro to D3.js and data visualizations as well as some real world use cases for using these tools. Using an interactive programming style, he will navigate the ins and outs of simplifying data, manipulating it, and displaying it in a way that the end user can understand. He'll compare D3 to some other popular charting libraries and note the reasons when you'd pick one style of data visualizations over another.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@slexaxton][4] or this months fill-in host [@tswicegood][5]!</p> + + + + + Writing Testable Code + + https://austinjavascript.com/posts/meetups/2013/06/18/ + 2013-06-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>It's June. It's getting hot and we all need a little more JavaScript in our lives. Well, enjoy the air conditioned comfort of Austin JS on June 18th with a talk from JavaScript SuperStar Rebecca Murphey.</p> +<p>It's one thing to write the code you need to write to get something working; it's another thing to write the code you need to write if you want to be able to prove that it works — and that it keeps working as you refactor and add new features. In this talk, we'll look at what it means to write testable JavaScript code.</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/slexaxton">@slexaxton</a>!</p> + + + + + Lightning Talks + + https://austinjavascript.com/posts/meetups/2013/07/16/ + 2013-07-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>It's finally over 100 degrees with some consistency. It feels like home again. It must be July. Come celebrate our freedom at Austin JavaScript's first lightning talk meeting.</p> +<p>Instead of having a traditional speaker, we're going to try a lightning talks meeting. We've discussed it with the a few of you and are excited to here everything you guys have to say. If it goes well, we'd like to have these 1 or 2 times a year, so please give feedback!</p> +<h2>How it will work</h2> +<ol> +<li>Show up to the meeting with a 5 minute (or so) demo of something that's useful to you in your work as a front-end engineer. This can be software, or patterns, or tools, or frameworks. In the past, just pulling up the website for a tool has been a totally easy way to have something to show without any slides to prep! (We encourage you to think about what you'll say though).</li> +<li>Get up at some point during the meeting and plugin your laptop (we should have a default laptop if you don't need/have one) and give this (very informal) presentation.</li> +<li>Watch everyone else share their best tips and tricks and tools!</li> +</ol> +<p>We anticipate everyone coming with something that they'd like to share, but if there is a lack of people who are volunteering, then multiple non-contiguous talks by the same person will be allowed. Hopefully we have too many for that to happen, though!</p> +<p>Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle <a href="http://twitter.com/lawnsea">@lawnsea</a>!</p> + + + + + Tom Dale on Ember.js + + https://austinjavascript.com/posts/meetups/2013/10/15/ + 2013-10-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>We hope your summers were eventful and full of fun, but it's time to get back into the groove. We're happy to partner up with the <a href="http://www.meetup.com/Ember-ATX">EmberATX meetup</a> for a meetup of the centuries. <a href="http://tomdale.net/">Tom Dale</a>, co-creator of <a href="http://emberjs.com/">Ember.js</a> will be visiting Austin to give a talk about Ember.js, the state of Ember 1.0, and the future of the framework.</p> +<p>We're expecting a pretty full-house and only have limited space, <strong>so we ask that you RSVP here: <a href="http://www.meetup.com/Ember-ATX/events/140780512/">Meetup.com EmberATX/AustinJS RSVP</a></strong> (slackers note: it should be open up 'til the moment the meetup starts, unless it fills up).</p> +<p>AustinJS would like to thank the <a href="https://twitter.com/emberatx" title="EmberATX on Twitter">@EmberATX</a> community for setting this up. We're happy to share our space with other awesome JavaScript communities in town!</p> + + + + + Kassandra Perch on Flight + + https://austinjavascript.com/posts/meetups/2013/11/19/ + 2013-11-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Glad tidings, Austin JavaScripters, we bring you good news of our meetup this month! We're happy to welcome Kassandra Perch to throw down some knowledge on Twitter's framework, <a href="http://twitter.github.io/flight/">Flight</a>.</p> +<p>Her talk is titled &quot;Flight: a Framework done right,” and we'll talk about how the framework is event-driven, component-based, and leverages the DOM to form a cohesive code structure. The concept of functional mixins will also be introduced, and how it is unique from other forms of class composition. Finally, we'll cover how all of these create a testable, scalable, friendly front-end code base.</p> + + + + + Release the Kraken: A Story of Node.js in the Enterprise + + https://austinjavascript.com/posts/meetups/2014/01/21/ + 2014-01-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Happy New Year, Austin JavaScriptorians! Hopefully you're enjoying your 2014 SO MUCH you've already broken those pesky resolutions you made a couple of weeks ago.</p> +<p>We're kicking the new year off with an exciting talk from our friends at PayPal called &quot;Release the Kraken: A Story of Node.js in the Enterprise.&quot; Jeff Harrell and Erik Toth will tell us how PayPal revitalized its tech stack by moving from Java, JSP, and proprietary solutions to a Node.js web application stack with <a href="http://akdubya.github.io/dustjs/">dust.js</a> templating. Developer agility was the primary motivation, but along the way they had to take on enterprise culture and teach people that JavaScript is no longer a &quot;toy,&quot; but a powerful tool to wield. We'll also take a look at PayPal's web app framework, <a href="https://github.com/paypal/kraken-js">Kraken</a>.</p> + + + + + Refactoring Big Apps + + https://austinjavascript.com/posts/meetups/2014/02/18/ + 2014-02-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>This month we'll be hearing from <a href="https://twitter.com/garannm">Garann Means</a> about refactoring big apps!</p> +<p>It would be nice if developers could download a JavaScript framework, plug in the custom logic required for their particular problem, and have a functional, scalable, and reliable application. As any who's tried can probably tell you, however, it doesn't work like that. It doesn't matter if your application has 5000 &quot;pages&quot; or less than 50 — it will eventually become a large application in terms of code, because size of code is not just a measure of the complexity of the app itself, but of its maturity. If you've tried taking an app from a minimal set of functionality to something complex enough to cover all the edge cases, you've probably done some rewriting.</p> +<p>If you haven't, it's your lucky day! We'll talk about several of the ways you can almost guarantee a rewrite in your app's future. If, on the other hand, rewrites don't sound like that much fun to you, we'll also talk about how to avoid them or at least minimise the risk they present</p> +<blockquote> +<p>IMPORTANT: Location changed to Mass Relevance at 8th and Brazos, just up the street.</p> +</blockquote> + + + + + The Power of M + Web Components + + https://austinjavascript.com/posts/meetups/2014/04/15/ + 2014-04-15T00:00:00Z + 2025-06-18T15:21:12Z + <p><a href="http://butts.ytmnd.com/">Hold on to your butts</a>, it's AustinJS time. Not only will we hear from local hero Charles Lowell (<a href="https://twitter.com/cowboyd">@cowboyd</a>) about &quot;The Power of M,&quot; but we're also hosting a special guest from Google that will tell us about the future of the web platform, web components!</p> +<p>Whether you're using a full fledged MVC framework. or just spicing up your UX with a single special interaction, it's the &quot;M&quot; and only the &quot;M&quot; that is the key creating powerful user experiences. To demonstrate this principle in action, we'll first create an in-memory model of what a color is, and then use it to build an interactive 3D color chooser. Sound hard? Not when we harness the Power of M. In this talk, we'll track the building of an interactive, 3D color chooser that contains interactive visualizations of both the RGB Space (a cube), and the HSL Space (a cylinder).</p> +<p><strong>BUT WAIT THERE'S MORE!</strong> Web components are an important part of the future of the web, so when we heard that Rob Dodson (<a href="https://twitter.com/rob_dodson">@rob_dodson</a>) was going to be in town, we invited him to come tell us more about them. Rob is a Google developer advocate that specializes in this area, so we're looking forward to learning from him about web components and Google's polyfill/framework <a href="http://www.polymer-project.org/">Polymer</a>.</p> + + + + + LESS + X11 Colors + + https://austinjavascript.com/posts/meetups/2014/05/20/ + 2014-05-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>We're back with another AustinJS! We'll be hearing a couple of talks again this month. First up, Steve Stedman (<a href="https://twitter.com/stedman">@stedman</a>) will be doling out some knowledge on <a href="http://lesscss.org/">LESS</a>, a popular CSS preprocessor implemented in Javascript. Next Alex Sexton (<a href="https://twitter.com/slexaxton">@SlexAxton</a>) will teach us about X11 colors (wha?!!??) and how they've impacted the web.</p> + + + + + Complexity Metrics and You + + https://austinjavascript.com/posts/meetups/2014/06/17/ + 2014-06-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>What up Austonians, it's Austin JS time again! Come join us at Spredfast (formerly Mass Relevance, <strong><em>note the location change</em></strong>) for another meetup. We'll hear from local web builder <a href="https://twitter.com/meany_face">Jared Stilwell</a> about &quot;Complexity Metrics and You.&quot; What are complexity metrics? Great question!</p> +<p>The code works. Your linter and test cases are happy. But, you feel the code could be cleaner. Where do you start? Complexity metrics can lead the way. Using a combination of measurement techniques, the process of finding rough edges in your codebase and tracking improvements becomes much easier. We'll cover several common metrics, the landscape of existing tools for JavaScript, and how they can be used to guide refactoring.</p> + + + + + Lightning Talks + + https://austinjavascript.com/posts/meetups/2014/07/15/ + 2014-07-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Hey Austin Javascripters, this month's meetup is gonna bring that <code>~*~* variety *~*~</code>. Here are a few talks that we've got lined up already:</p> +<ul> +<li><a href="http://twitter.com/lawnsea">@lawnsea</a>: TCP Trix</li> +<li><a href="http://twitter.com/kassandra_perch">@kassandra_perch</a>: NodeBots</li> +<li><a href="http://twitter.com/elbenshira">@elbenshira</a>: ClojureScript and Om</li> +<li><a href="http://twitter.com/WebDesserts">@WebDesserts</a>: chroma.js and color manipulation</li> +<li><a href="http://twitter.com/ClassicallyGeek">@ClassicallyGeek</a> and <a href="http://twitter.com/pncifra">@pncifra</a>: Google Polymer and Web Components</li> +<li>maybe <a href="http://twitter.com/aaronj1335">@aaronj1335</a> if there's time: If Underscore Was Written in ES6</li> +</ul> +<p>We've still got some time though, so feel free to come with an idea, and we'll work everyone in!</p> + + + + + Yield! How ES6 Generators and Monocle-js Can Bring Async Into Line, Literally + + https://austinjavascript.com/posts/meetups/2014/08/26/ + 2014-08-26T00:00:00Z + 2025-06-18T15:21:12Z + <p>Whatup jorbascrupmers. As promised we're going to be hearing about a shiny new feature coming in the next version of JavaScript — generators.</p> +<p><a href="https://twitter.com/jlipps">Jonathan Lipps</a> will give a talk titled <em>Yield! How ES6 Generators and Monocle-js Can Bring Async Into Line, Literally</em>, and will teach us how generators can save our souls from callback hell.</p> + + + + + Testing JavaScript + + https://austinjavascript.com/posts/meetups/2014/09/16/ + 2014-09-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Get ready for a blowout Austin JavaScripters, cause this month's meetup is going to be a choreography-fueled rager:</p> +<img style="display: block; margin: 0 auto;" src="https://i.cloudup.com/1M9-LTvYh9.gif" /> +<p>This month's speaker is <a href="https://twitter.com/danheberden">Dan &quot;<span style="position: relative; display: inline-block; width: 98px"><span style="visibility: hidden">Jazz Hands</span><span style="position: absolute; left: 0px">J</span><span style="position: absolute; top: -4px; left: 10px">a</span><span style="position: absolute; left: 20px">z</span><span style="position: absolute; top: 4px; left: 30px">z</span><span style="position: absolute; left: 45px">H</span><span style="position: absolute; top: -4px; left: 58px">a</span><span style="position: absolute; left: 68px">n</span><span style="position: absolute; top: 4px; left: 78px">d</span><span style="position: absolute; left: 88px">s</span></span>&quot; Heberden</a>:</p> +<p>Dan's going to take you to school on testing Javascript. Get ready to be <em>SHOCKED AND AWED</em>.</p> + + + + + Building Mobile Apps with Cordova + + https://austinjavascript.com/posts/meetups/2014/10/21/ + 2014-10-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>We've got another <code>~*super rad*~</code> meetup next Tuesday, October 21st. Local favorite <a href="http://driverdan.com/">Dan DeFelippi</a> (<a href="https://twitter.com/expertdan">@expertdan</a>) is going to educate us on building mobile apps with <a href="http://cordova.apache.org/">Cordova</a> (the open-source engine behind <a href="http://phonegap.com/">PhoneGap</a>). Aside from being a proper geek and hacker, Dan is a co-founder of local bike rental and bike share app <a href="https://twitter.com/Spokefly">Spokefly</a>.</p> + + + + + Harrowing tales of running code on other people's sites + + https://austinjavascript.com/posts/meetups/2015/01/20/ + 2015-01-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>Hey happy New Year Austin! Let's celebrate by getting together and talking about 3rd party JavaScript.</p> +<p><img src="https://cldup.com/nWqk2nPq1S.gif" alt="aw snap third party js party" /></p> +<p>So who's gonna emcee this rager? None other than the venerable <a href="http://rmurphey.com/">Rebecca Murphey</a> (<a href="https://twitter.com/rmurphey">@rmurphey</a>). Get ready to hear some harrowing-ass tales of running code on other people's sites, from one of the largest 3rd party JavaScript deployments out there.</p> + + + + + JavaScript Crypto + + https://austinjavascript.com/posts/meetups/2015/04/21/ + 2015-04-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Are you finally recovered from SXSW and ready. for. some. JavaScript?! Well, you're in luck: this Tuesday, Austin local <a href="https://twitter.com/tbvancil">Tara Vancil</a> is giving us a clinic on JavaScript crypto. Please don't tell the NSA.</p> +<img class="alignnone" title="TOO MANY SECRETS" src="http://media.giphy.com/media/8g4CuR1Af5t6g/giphy.gif" alt="Animated gif of Whistler from Sneakers" width="325" height="186" /> +<p>The web hosts a large portion of the world's new cryptographic tools, and the debate about whether JavaScript is up to the challenge carries on. Tara will discuss how JavaScript plays an important role in developing some of the best crypto tools out there, explain some situations in which it just doesn't cut it, and show some examples of both.</p> + + + + + on('input'): Dealing With Data From Your User In Real-time + + https://austinjavascript.com/posts/meetups/2015/05/19/ + 2015-05-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>As the saying goes, &quot;April showers bring May showers.&quot; They also bring you another JavaScript meetup! Local markup slinger <a href="https://twitter.com/cowboyd">Charles Lowell</a> will be giving a talk titled &quot;<code>on('input')</code>: dealing with data from your user in real-time… as in like forms, actually.&quot;</p> +<p><img src="https://cldup.com/uJyOXkshJR.gif" alt="animated gif of what appears to be a honey badger dancing" title="awww yisss" /></p> +<p>Dealing with forms in a stateful UI can be a nightmare. While most of the major frameworks focus on their hot new rendering hotness, they uniformly pass the buck when it comes to handling user input. More often than not, you’re on your own, armed with nothing but callbacks when it comes to the complexities of wrangling networks of textfields, checkboxes and other custom components into robust, valid data structures that the rest of your app can use. In this talk, we’ll explore how to bring just a little more sanity to our forms by looking for help in an unlikely place: those same advances in rendering that have pushed the state of the art so far forward these past few years.</p> + + + + + Wrangling Transpilations + + https://austinjavascript.com/posts/meetups/2015/06/16/ + 2015-06-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Howdy, Texas. We're looking forward to seeing all of you fine vaqueras and vaqueros this Tuesday June 17, 2015 as Kyle Simpson (<a href="https://twitter.com/getify">@getify</a>) rustles up some knowledge on transpiling JavaScript.</p> +<p>The new reality of JavaScript is that the features will evolve even quicker than the specification, and much quicker than your &quot;supported&quot; browsers. So we're going to have to come to grips with transpilers being a standard part of our build processes. But what can we do to wrangle at least two versions of every file? What does that mean for server-side coding (node/iojs) and what does it mean for browser-delivered files? Should we use the transpiled code everywhere, or should we have split delivery?</p> + + + + + JerseyScript.tx + + https://austinjavascript.com/posts/meetups/2015/07/21/ + 2015-07-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Sup, y'all. We've got something special planned for our July meetup and we are <em>shore</em> you're gonna think it's fresh to death.</p> +<p>Here's <a href="https://en.wikipedia.org/wiki/Michael_Sorrentino">the Situation</a>: AustinJS is going down the Shore! Jenn Schiffer is staging a blowout <a href="http://jerseyscript.github.io/">JerseyScript</a> bo-coup on July 22, 2015. Jenn has convinced New York's own Adam J. Sontag to come rap with us about a speech recognition game he is working on.</p> + + + + + Ember.js and Ember-CLI + + https://austinjavascript.com/posts/meetups/2015/08/18/ + 2015-08-18T00:00:00Z + 2025-06-18T15:21:12Z + <div class="ajs-box"> +We're not in our usual location! We'll be meeting at <strong>Spredfast</strong> this month in the Silicon Labs building, so please plan accordingly. +</div> +<p>Hey Austin JavaScripters, summer is in full swing and <code>{{ joke_about_how_ember_is_hot }}</code>. We're excited to hear from <a href="http://www.iheanyi.com/">Iheanyi Ekechukwu</a> as he tells us about &quot;Ember.js, Ember-CLI, and how it all relates to that 'shut up and dance with me' song,&quot; (which we were actually <a href="https://twitter.com/fivetanley/status/623620046338666497">hoping to hear about</a> last month). Hope to see you there this Tuesday, August 19, 2015.</p> + + + + + All-React Extravaganza + + https://austinjavascript.com/posts/meetups/2015/09/15/ + 2015-09-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Webster's Dictionary <a href="http://www.merriam-webster.com/dictionary/suggestions/sharknado">defines &quot;extravaganza&quot; as</a>:</p> +<blockquote> +<p>a very large and exciting show or event</p> +</blockquote> +<p>And nothing says exciting like JavaScript frameworksssssss!</p> +<div class="sponsor-logo"> + <div class="hidden"> + <img src="https://cldup.com/G5ajKtTSq6.gif" style="width: 300px; max-width: 100%;" alt="WHOA REACT JS" /> + <button type="button" onclick="hideImage()" style="display: block; margin: 0 auto; line-height: 1.25rem; padding: .5rem 1rem; -webkit-appearance: none; border: 1px solid transparent; border-radius: 3px; background-color: #bbb;"> + WHOA MY EYES HIDE THAT THING + </button> + </div> + <script> + (function() { + var theNoise = document.currentScript.parentElement.children[0]; + + if (!window.localStorage.september2015HideGif) + theNoise.className = ''; + + window.hideImage = function() { + theNoise.className = 'hidden'; + window.localStorage.september2015HideGif = 'for the love of everything yes'; + }; + })(); + </script> +</div> +<p>Ok, calm down for a second so I can tell you what's going on here. <a href="https://twitter.com/timtyrrell">Tim Tyrrell</a> and <a href="https://twitter.com/tswicegood">Travis Swicegood</a> are going to tell us about ReactJS, Flux, and that sort of stuff. Tim will kick it off live-coding with React, and then Travis will give a whirlwind tour of Flux and how it fits into the ecosystem we all love.</p> +<p>We won't dive too deep since we haven't covered React at AustinJS yet, but stay tuned for news about a new meetup you might be into!</p> + + + + + Node 4, huh yeah, what is it good for? + + https://austinjavascript.com/posts/meetups/2015/10/20/ + 2015-10-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>For our final meetup of 2k15 we have a very special guest: <a href="https://twitter.com/joemccann">Joe McCann</a>, founder of AustinJS and <a href="https://nodesource.com/">NodeSource</a>, is going to talk about this <a href="https://iojs.org/en/">Node.js</a> thing we've heard so much about. Node recently went straight from 0.12 to 4.0, meaning it is 33.3X more Enterprise Ready™®©℠ than competing platforms. Joe will tell us everything we need to know to scale Node out the front door and into the cloud.</p> + + + + + Alex Sexton talks about client-side &quot;security&quot; + + https://austinjavascript.com/posts/meetups/2016/01/19/ + 2016-01-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>🎉🎆 Happy New Year 🎆🎉 Hopefully 2016 finds all of you well, and hopefully you'll <strong><em>RESOLLLLVVVVE</em></strong> to make it out to AustinJS next week to hear Alex Sexton talk about &quot;almost definitely client side security.&quot; We're pretty certain that means his three-hour deep dive on whether <a href="http://wil.to/_/whatno.gif">Rey is a Kenobi</a> (hey as long as it's not <a href="https://twitter.com/slexaxton/status/419373720080105472">politics</a>, <a href="https://alexsexton.com/blog/2015/02/the-15-commandments-of-front-end-performance/">religion</a>, or <a href="https://twitter.com/SlexAxton/status/685163843564093440">sex</a> right).</p> + + + + + Bringing Open-Source Practices to Your Day Job + + https://austinjavascript.com/posts/meetups/2016/02/16/ + 2016-02-16T00:00:00Z + 2025-06-18T15:21:12Z + <blockquote> +<p><strong>We're not in our usual location!</strong>: We'll be meeting at Spredfast this month in the Silicon Labs Building on Colorado/Cesar Chavez (<a href="https://www.google.com/maps/place/200+W+Cesar+Chavez+St,+Austin,+TX+78701/@30.2642656,-97.7470567,18z/data=!3m1!4b1!4m2!3m1!1s0x8644b50602c5b57d:0x4c4d44de892b1d04">map</a>).</p> +</blockquote> +<p>Hey everyone, we're excited about February 17, 2016 because Benjamin Coe is going to come talk about <em>Bringing Open-Source Practices to Your Day Job</em>.</p> +<p>We've got food and beverages this month thanks to <strong>Front End Development at IBM</strong>. If you'd like to hear more about what they're working on, feel free to reach out to frontend@us.ibm.com or check out the <a href="https://generalassemb.ly/education/ga-fedibm-design-present-the-importance-of-a-pattern-library/austin/21730">Feducation event they're doing with General Assembly</a>.</p> + + + + + Anton Astashov and Elm + + https://austinjavascript.com/posts/meetups/2016/04/19/ + 2016-04-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>It's April, so let's shake off our collective SXSW hangovers 🍻 (or maybe emerge from our SXSW bunkers ☢️) and get together on April 20, 2016 for another great AustinJS!</p> +<p>We'll be hearing from Anton Astashov about <a href="http://elm-lang.org/">Elm</a>, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. He'll cover why it’s cool, what it looks like, it’s pros and (most importantly) cons!</p> + + + + + Making Browsers Compatible with Web JavaScript + + https://austinjavascript.com/posts/meetups/2016/05/17/ + 2016-05-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>This month we've got <a href="https://miketaylr.com/posts/2016/04/string-prototype-contains-use-your-own-judgement.html">dark web expert</a> and <a href="https://miketaylr.com/posts/2016/02/dispatching-magical-webkit-prefixed-events.html">Gotye fan</a> <a href="https://austinjavascript.com/posts/meetups/2016/05/17/"><strike>Miike</strike> Mike <strike>Snow</strike> Taylor</a> in to discuss the nuances of writing JavaScript that actually works in world-wide web browsing machines. Come out and join us next Tuesday May 18, 2016!</p> + + + + + Making It Better Without Making It Over + + https://austinjavascript.com/posts/meetups/2016/06/21/ + 2016-06-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>This month we've got veteran frontend engineer Rebecca Murphey, who will share the story of how she started a new job this year by paying a visit to JavaScript circa 2009, back when Ryan Dahl was getting ready to announce Node and Facebook was still four years away from being mocked for the apparent heresy of JSX. She'll explain how she modernized and best-practice-ified a project that didn't even have a package.json, smoothing the development process, eliminating common sources of bugs, paving the way for bigger improvements, and never once uttering the words &quot;we oughta just start from scratch.&quot; Come out and join us next Tuesday June 22, 2016!</p> + + + + + Browser vendors hate him! + + https://austinjavascript.com/posts/meetups/2016/07/19/ + 2016-07-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>This Tuesday, July 20, 2016, discover how this one weird extension <strong><em>changed the web forever</em></strong>. Andrew Dupont will give us a 12 year perspective (most of a century in internet years) on the ways GreaseMonkey shaped today's browsers and how user scripts give us the opportunity of a better web.</p> + + + + + PWA's and TLA's, but definitely not SPA's + + https://austinjavascript.com/posts/meetups/2016/08/16/ + 2016-08-16T00:00:00Z + 2025-06-18T15:21:12Z + <!-- +.wowowow { + display: inline-block; + animation: wow 2s infinite; +} +@keyframes wow { + 0% {transform: scale(1.0,1.0);} + 30% {transform: scale(1.1,1.1);} + 60% {transform: scale(1.2,1.2);} + 80% {transform: scale(1.2,1.0);} + 100% {transform: scale(0.9,1.0);} +} +--> +<style>.wowowow { + display: inline-block; + -webkit-animation: wow 2s infinite; + animation: wow 2s infinite; +} +@-webkit-keyframes wow { + 0% {-webkit-transform: scale(1.0,1.0);transform: scale(1.0,1.0);} + 30% {-webkit-transform: scale(1.1,1.1);transform: scale(1.1,1.1);} + 60% {-webkit-transform: scale(1.2,1.2);transform: scale(1.2,1.2);} + 80% {-webkit-transform: scale(1.2,1.0);transform: scale(1.2,1.0);} + 100% {-webkit-transform: scale(0.9,1.0);transform: scale(0.9,1.0);} +} +@keyframes wow { + 0% {-webkit-transform: scale(1.0,1.0);transform: scale(1.0,1.0);} + 30% {-webkit-transform: scale(1.1,1.1);transform: scale(1.1,1.1);} + 60% {-webkit-transform: scale(1.2,1.2);transform: scale(1.2,1.2);} + 80% {-webkit-transform: scale(1.2,1.0);transform: scale(1.2,1.0);} + 100% {-webkit-transform: scale(0.9,1.0);transform: scale(0.9,1.0);} +}</style> +<p>Come out next Tuesday, August 17, 2016, as Dave Rupert tells us how to <strike>make the mobile web great again</strike> make <span class="wowowow">Progressive Web Apps!</span></p> + + + + + JavaScript in the Ivory Tower + + https://austinjavascript.com/posts/meetups/2016/09/20/ + 2016-09-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>It may still be hot in ATX, but summer is <a href="http://i.imgur.com/9XjBUoD.gifv">over</a>, so our very own Lon Ingram is gonna <em>take us back to school</em> and tell us about JavaScript in the Ivory Tower. We'll cover some great papers about JavaScript, and go beyond that to discuss how to find good research and read those super long intimidating papers.</p> + + + + + Austin on AustinATX + + https://austinjavascript.com/posts/meetups/2016/10/18/ + 2016-10-18T00:00:00Z + 2025-06-18T15:21:12Z + <blockquote> +<p><strong>We're not in our usual location!</strong>: We'll be meeting at <a href="https://www.techspace.com/spaces/austin/cbd/">TechSpace Austin</a> this month (<a href="http://maps.google.com/?q=98%20San%20Jacinto%20Blvd.%20Austin,%20TX,%2078701">map</a>).</p> +</blockquote> +<p>We've got a special meetup tonight! <a href="http://www.austinonrails.org/">Austin on Rails</a>, AustinJS, and <a href="http://www.meetup.com/Ember-ATX/">EmberATX</a> are teaming up to bring <a href="http://yehudakatz.com/">Yehuda Katz</a> to town. Yehuda will tell us about &quot;Ember, Now and Next,&quot; and then we'll have a Fireside Chat. Register and find out more on the event page:</p> +<div style="text-align: center;"> + <a style="display: inline-block;" class="ajs-box" href="https://www.eventbrite.com/e/austin-on-austinatx-featuring-yehuda-katz-tickets-27748133414">Go to the Event Page &rarr;</a> +</div> +<p>Looking forward to seeing you there!</p> + + + + + Data-driven Front-end Development + + https://austinjavascript.com/posts/meetups/2016/11/15/ + 2016-11-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Hey happy Veteran's Day and Marine Corps Birthday! AustinJS is going to get together Tuesday November 16, 2016 to hear from Jon Loyens about data-driven front end development <code>~⭐️for the troops⭐️~</code></p> +<p>In his own words:</p> +<p>Much has been made of Lean Startups, A/B testing and building data driven cultures. In order to be data-driven you need to have a culture of instrumentation and measurement, but building out the pipelines, client side instrumentation and an analytics warehouse from the ground up can be tedious, hard and time-consuming.</p> +<p>To address this problem, I’ll share a roadmap to successfully evolving a web analytics pipeline that starts by leveraging third party and open source tools for speed and time to market, but is still robust enough to evolve to owning your own warehouse. For context, I’ll walk through my experiences of introducing A/B testing and building out web analytics integrations at Bazaarvoice, expanding HomeAway’s A/B testing program to nearly 1000 tests a year, and now helping to architect data.world’s analytics pipeline.</p> +<ul> +<li>Do’s and Don’ts for front-end instrumentation: +<ul> +<li>Do use exception track (Sentry) as well as event tracking</li> +<li>Don’t use a general purpose tag manager</li> +<li>Do leverage third party tools along the way</li> +<li>Do plan to own your analytics stack eventually</li> +<li>Don’t give away all your data</li> +<li>Don’t believe the ‘one line of JS’ hype/No silver bullet</li> +<li>Do provide a way for your business team to experiment with tooling</li> +<li>Do be explicit</li> +<li>Do keep allocation and bucketing in mind</li> +</ul> +</li> +<li>Tracking all the things vs. tracking the important things</li> +<li>How our front end tech stack enables all this</li> +</ul> + + + + + Making old electronics new again ...with JavaScript! + + https://austinjavascript.com/posts/meetups/2017/01/17/ + 2017-01-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>Happy New Year everyone! Here's to fresh start. We're kicking the year off in style with a great talk from Rachel Weil!</p> +<p>Rachel will share a selection of personal projects that bring vintage electronics into the 21st century with Node.js and hobbyist microcontrollers. She’ll also cover some of the basic tools and approaches to getting started with refurbishing, refitting, and reworking old game consoles, computers, and digital toys.</p> +<img alt="Rachel's Ballie Bear Video Arcade installation" src="http://i.imgur.com/UjVAaeL.jpg" style="max-width: 50%; margin: 0 auto; display: block;" /> +<p>In other big news, Spredfast is now the official location for AustinJS! The Spredfast team has always been kind to share their <code>~*luxurious*~</code> downtown space with us, so we look forward to making more memories going forward. Thanks Spredfast!</p> + + + + + Anton Astashov on immutability + + https://austinjavascript.com/posts/meetups/2017/02/21/ + 2017-02-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>What are immutable data structures? Why would you want to prevent objects from changing? Why not just <code>Object.freeze()</code>?</p> +<p>These are great questions for smart people, so you should come listen to Anton talk about what he'd like to see change in the world of immutable JavaScript (you… you see what I did there?).</p> + + + + + Intro to WebAssembly + + https://austinjavascript.com/posts/meetups/2017/03/21/ + 2017-03-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>WebAssembly is fast. It’s being called “the future of the web”. Its speed and potential have major browser vendors working together to make it a reality. And it’s on its way — the MVP hit multiple browsers in October of last year.</p> +<p>But what makes it fast? Starting from the basics, this talk will walk you through what WebAssembly is, and then why it’s fast.</p> +<p>Get your burning questions ready! We'll have some super special swag for the best questions.</p> +<p class="ajs-box"> + Make sure to do Mozilla a solid and [RSVP at their meetup page](https://www.meetup.com/Mozilla-Developer-Roadshow/events/237760047/)! +</p> + + + + + Chuck always wins + + https://austinjavascript.com/posts/meetups/2017/04/18/ + 2017-04-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>What up team we got a meetup tonight! Tonight we're going to talk about testing your code. We figured it's been <a href="https://austinjavascript.com/june-meetup-details-announced/">almost 6 years</a> since we last talked about TDD, which means the ecosystem has been through ~11 different testing frameworks, so we might as well get back into the subject since QUALITY IS EVERYONE'S JOB ZERO.</p> +<p><a href="https://twitter.com/markedwardsims">Mark Sims</a> is coming to town to tell us about his experiences with testing and walk us through testing an app called Deathmatch that needs to be sure <em>Chuck always wins</em>.</p> + + + + + Meep! AustinJS is BACK! Meep Meep! + + https://austinjavascript.com/posts/meetups/2017/06/20/ + 2017-06-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>Here come dat beaker!</p> +<img alt="Beaker" src="https://upload.wikimedia.org/wikipedia/en/5/59/Beaker_%28Muppet%29.jpg" /> +<p>Hey friends! AustinJS is back with an exciting dual talk from Austin's own <a href="https://twitter.com/taravancil">Tara Vancil</a> and <a href="https://twitter.com/pfrazee">Paul Frazee</a> about their project, [Beaker Browser][beaker], an experimental web browser with builtin hosting and p2p web protocols.</p> + + + + + Perfecting Perf + + https://austinjavascript.com/posts/meetups/2017/07/18/ + 2017-07-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>It's too hot for hair out there, so we've asked Lon Ingram to come talk to us about making websites fast as ⚡ (kung fu fighting, etc). Join us Tuesday July 19, 2017 and learn what it takes to appease our search engine overlords!</p> +<h2>Talk summary</h2> +<p>With the rise of the mobile web, speed has become crucial to success. Users won't wait around for slow-loading pages and search engines are now punishing sluggish sites. There's a wealth of ideas out there for cranking up performance, but how do you know where to start? What if you work for days to ship an optimization that doesn't really pay off? In this talk, you'll learn how to experiment and fail fast. You'll find out how to quickly and rigorously assess your optimization ideas with open source tools, and how to share your results so that others can replicate your findings.</p> + + + + + Babble? Baebull? + + https://austinjavascript.com/posts/meetups/2017/08/15/ + 2017-08-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Ever wonder how to pronounce Babel? Join us Tuesday August 16, 2017 to find out! Austin's own Andrew Levine will teach us how to write Babel plugins.</p> +<h2>Talk summary</h2> +<p>Andrew is going to give an intro to writing Babel plugins. He'll start with a very high level summary of how Babel works, and then dive into the Plugin APIs and several examples of real world plugins to write.</p> + + + + + Not so locally sourced JavaScript + + https://austinjavascript.com/posts/meetups/2017/09/19/ + 2017-09-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Source maps, huh, yeah. What are they good for? Absolutely... some things.</p> +<p>We have an extra special treat this month thanks to our gracious hosts and good friends at Spredfast: Ben Vinegar is coming all the way from &quot;San Francisco&quot; to tell us everything about how source maps work. Join us Tuesday September 20, 2017 for a special Bae Area AustinJS!</p> +<h2>Talk summary</h2> +<p>You may already be familiar with source maps. They let you debug your original, unminified, and untranspiled code in the browser. But have you ever wondered how they actually work? Ben will take a deep dive into the source map format to see what’s under the hood, exploring source map generation tools, parsers, and how to manipulate source maps directly for fun and profit.</p> + + + + + How to Start a JavaScript Synthpop Band + + https://austinjavascript.com/posts/meetups/2017/10/17/ + 2017-10-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>Synthesizers! JavaScript! Aleatoricism?? Using an actual analog synthesizer as a guide, Kyle will build a feature-for-feature replica in the browser with the Web Audio API and show how to use JavaScript to overcome a lack of musical training. You'll learn the capabilities and limitations of the Web Audio API, and how it can be used for applications like gaming, WebVR, and 80s retro synthwave. With live coding, live synth playing, and a touch of music theory, <em>what could go wrong?</em></p> + + + + + We can't contain our excitement!!! + + https://austinjavascript.com/posts/meetups/2017/11/21/ + 2017-11-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>We've got <a href="http://mando.org/">Mando Escamilla</a> coming this month to <strong><em>deploy</em></strong> some knowledge on us. Here's some relevant prior art:</p> +<iframe width="560" height="315" src="https://www.youtube.com/embed/k6zBtBqUNYE?rel=0" frameborder="0" allowfullscreen=""></iframe> +<p>In his own words…</p> +<h2>DOCKER! CONTAINERS! KUBERNETES! GAAAAH</h2> +<p>If all that stuff is confusing or intimidating, don’t panic - we’re here to help. We’ll help you develop a mental model of a kubernetes cluster and what it does, then jump into a demo of how you’d build and deploy a simple javascript application inside a kubernetes cluster. Don’t worry - if we were able to figure this out, you can too.</p> + + + + + Can we please find some commonjs ground on modules?? + + https://austinjavascript.com/posts/meetups/2018/01/16/ + 2018-01-16T00:00:00Z + 2025-06-18T15:21:12Z + <blockquote> +<p><strong>The January meetup is cancelled due to expected hazardous weather. See y'all in February!</strong></p> +</blockquote> +<p>Let's kick off the new year with <a href="https://github.com/bmeck">Bradley Farias</a>, who will deliver a meditation on the seven stages of <s>grief</s> standards development:</p> +<h2>From Language Design to TC39 (The JS Language Standards Group)</h2> +<p>This talk is a reflection on a lot of discussions that come up when talking about language design and what it means to design for a future that is always bigger than the past. Topics from the past present and future such as ASI, ESM, decorators, and private fields are things that are important to get right if we are stuck with them forever. We can use discussion examples of each of these topics to get a better understanding of why it is so difficult to make things &quot;just work&quot;. I will discuss ongoing themes of discussion within TC39 and efforts that are changing how TC39 is viewed.</p> +<p><marquee style="position:fixed; top:50%; color:red; font-size:100px; line-height:100px;">CANCELLED! WINTER IS COMING. SEEK SHELTER AND COMFORT.</marquee></p> + + + + + Can we please find some commonjs ground on modules?? + + https://austinjavascript.com/posts/meetups/2018/02/20/ + 2018-02-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>Let's kick off the new year with <a href="https://github.com/bmeck">Bradley Farias</a>, who will deliver a meditation on the seven stages of <s>grief</s> standards development:</p> +<h2>From Language Design to TC39 (The JS Language Standards Group)</h2> +<p>This talk is a reflection on a lot of discussions that come up when talking about language design and what it means to design for a future that is always bigger than the past. Topics from the past present and future such as ASI, ESM, decorators, and private fields are things that are important to get right if we are stuck with them forever. We can use discussion examples of each of these topics to get a better understanding of why it is so difficult to make things &quot;just work&quot;. I will discuss ongoing themes of discussion within TC39 and efforts that are changing how TC39 is viewed.</p> + + + + + 🥤🍾🍷🍻🍹🍼 bevera.js at Gingerman ☕️🥛🥃🍸🍺🍶 + + https://austinjavascript.com/posts/meetups/2018/05/15/ + 2018-05-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Come out tomorrow May 16, 2018, for some <code>bevera.js</code> at the Gingerman! Topics of discussion may include:</p> +<ul> +<li>The open web</li> +<li><a href="https://twitter.com/davatron5000/status/369187413291065344">JorbaScrump</a></li> +<li>What drink you and or your conversation partner are currently imbibing upon</li> +<li>&quot;Oh hey how have you been?&quot;</li> +<li>Giving Lawn a hard time</li> +<li>Movies watched recently</li> +<li>Funny tweets</li> +<li>Ridiculous things your kid did or said</li> +<li>Ridiculous things your dog did or said</li> +<li>Dank memes</li> +<li>And many more!</li> +</ul> +<p>Topics of discussion will of course <strong>not</strong> include violations of our <a href="https://austinjavascript.com/austinjs-code-of-conduct/">code of conduct</a>. If you see anyone fall short of being excellent to one another, please let them or an organizer know!</p> + + + + + Lessons learned optimizing performance on Mixbook.com + + https://austinjavascript.com/posts/meetups/2018/06/19/ + 2018-06-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Who is ready to optimize your user's spa experience? Anton is going to tell us the secrets to making your visitors feel pampered in no time flat! Anton will share all the tricks of the trade, from how to improve time to first relaxation to HTTP/2 aromatherapy tips.</p> +<p>Anton has recently been working on optimizing performance for mixbook.com, and he’d like to tell y'all about their experience: what worked and what didn't.</p> +<p>Topics include,</p> +<ul> +<li>how they got rid of all external CSS to avoid blocking network calls</li> +<li>how they started inlining some server-side data right into JS bundles and rebuilt/redeployed the app automatically when that data changes</li> +<li>how we used webpack with custom loaders to automate all that stuff</li> +<li>and more and more :)</li> +</ul> + + + + + Zelda + a11y? + + https://austinjavascript.com/posts/meetups/2018/07/17/ + 2018-07-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>Accessibility is hard. Oftentimes, it’s difficult to understand what users and assistive technology expect from your markup and designs. Can accessibility be easier to learn? Can it be…fun? In this talk, Dave will approach accessibility the way we might tackle a video game—looking at a handful of common UI patterns like popup, tabs, accordions, and modals; how to test them; and how to defeat them while leveling up your skillset along the way.</p> + + + + + What if the simulation is powered by JavaScript? This explains a lot. + + https://austinjavascript.com/posts/meetups/2018/08/21/ + 2018-08-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Simon has been building browser based simulations such as <a href="https://coldwar.io/">coldwar.io</a> and <a href="https://ratsofthemaze.com/">ratsofthemaze.com</a> over the past few years, showcasing them at numerous JS Confs and our own TXJS. Since he's in town this week, he's going to give us a casual retrospective on this work and a dive into some of the code.</p> +<h2>Special Guest Host</h2> +<p>Lon and Andrew are off to JSConf US and Aaron is taking a sabbatical to finish his upcoming definitive book on <code>ConcreteAbstractFactoryAdapterImplementations</code>, so <a href="https://twitter.com/rmurphey">Rebecca Murphey</a> has graciously offered to come out of retirement and host this month's event.</p> + + + + + Bring me a higher function, whoa-oh + + https://austinjavascript.com/posts/meetups/2018/09/18/ + 2018-09-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>List manipulation is a foundation of programming, and filtering is one of the pillars. Use cases are widespread, from removing outliers from a dataset to applying filters from user interactions. When a list of criteria gets large, however, the code used for these filters can get unruly.</p> +<p>By using and writing higher-order functions, you can write, combine, and manipulate criteria while keeping your JavaScript readable, maintainable, and DRY.</p> + + + + + An Event-ful Evening with JavaScript + + https://austinjavascript.com/posts/meetups/2018/10/16/ + 2018-10-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Handling events like clicks and keypresses as users interact with your content is essential for any web app. Learn the fundamentals of how events work in JavaScript, including:</p> +<ul> +<li>an introduction to the DOM Event specification</li> +<li>how to attach event listeners (there's so many ways!)</li> +<li>how event propagation works, what &quot;bubbling&quot; and &quot;capturing&quot; mean, and why you should care</li> +<li>the differences between preventDefault, stopPropagation, and return false (and when you should use each one!)</li> +</ul> +<p>Whether you're just learning JavaScript or are an experienced front-end developer, you'll walk away with a deeper familiarity with events. You'll be able to implement event listeners with confidence and debug with clarity!</p> +<p>This talk is adapted from an Ember.js-specific talk, <a href="http://mariechatfield.com/talks/#deep-dive-on-ember-events">Deep Dive on Ember Events</a>.</p> + + + + + Saving CSS Grid Headaches with JavaScript + + https://austinjavascript.com/posts/meetups/2019/01/15/ + 2019-01-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Grid frameworks in CSS help keep a product, department, or even a whole company visually aligned. However, they can be a struggle to maintain while satisfying different experiences’ needs. Thankfully, scripting languages have a knack for keeping everything sane. By creating a new open-source package that generates grid frameworks, we will cover:</p> +<ul> +<li>Abstracting design specs for reusable code</li> +<li>Performance vs CSS browser support</li> +<li>The flexibility of isomorphic JavaScript packages</li> +</ul> + + + + + Why people hate Javascript + + https://austinjavascript.com/posts/meetups/2019/02/19/ + 2019-02-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Why do some people hate JavaScript while others bask in its glory? In <a href="https://insights.stackoverflow.com/survey/2018/">Stack Overflow's 2018 Survey</a> of over 100,000 developers; JavaScript, HTML, and CSS rank as the <em>top three</em> most used technologies, with 70% of developers stating that they use JavaScript. Next in the list is SQL with 57%.</p> +<p>Not everyone is an expert front-end developer, but it seems that most people at least have to dip their toes.</p> +<p>If you hate JavaScript, I'm going to <em>finally</em> articulate why you <em>know in your heart</em> that this is such a terrible language. For you JavaScript lovers out there, hopefully this sheds some light on why your language of choice is such a steaming pile of 💩.</p> +<p>Let's talk about what we can do about it.</p> + + + + + JavaScript on Microcontrollers + + https://austinjavascript.com/posts/meetups/2019/04/16/ + 2019-04-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Sometimes it's the little things that count - in 2s complement. Come hear about how to program the <a href="https://en.wikipedia.org/wiki/ESP8266">ESP8266</a> microcontroller using <a href="https://www.espruino.com/">Espruino</a> and see some fancy rainbow animations on strips of <a href="https://www.adafruit.com/category/168">NeoPixels</a>.</p> + + + + + Taking the non- out of non-standard. + + https://austinjavascript.com/posts/meetups/2019/05/21/ + 2019-05-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Come learn about the weird history of the IE event model, what it took to ship <code>window.event</code> (and associated garbage) in Firefox 66, and why we're still talking about this in 2019.</p> + + + + + Web Assembly: What it Is, Why you should care, and what it means for JS + + https://austinjavascript.com/posts/meetups/2019/07/16/ + 2019-07-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Let's talk about a five-year-old tech like it's brand new; which is really what WebAssembly is; it's been around for years but we're only just starting to discover what it can do and how to use it. Kas can say with no hyperbole that this is the next Ajax in terms of importance to browser applications, and in this talk they'll explain why a multi-language web doesn't spell the end of JavaScript but rather a Renaissance for the web.</p> + + + + + Let's Go on a console.log() Safari 🦏 + + https://austinjavascript.com/posts/meetups/2019/08/20/ + 2019-08-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>One of the first things we learn in JavaScript is <code>console.log()</code>. Yet this belies the true complexity of its behavior. What exactly does <code>console.log()</code> do, anyways? (The short answer: it depends!) Adorn your pith and get in the jeep because we're about to explore <code>console.log()</code> and maybe learn a few things about streams, browsers and JavaScript engines along the way!</p> + + + + + Mosaic: a Platform for Micro-Frontends at Indeed + + https://austinjavascript.com/posts/meetups/2019/10/15/ + 2019-10-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>Indeed is one of the largest Job Search websites in the world. In order to maintain developer velocity and quality, we’re in the process of dramatically shifting how we build web applications. Historically, we’ve built large monolith applications that have upwards of a hundred contributors, but we’ve found that this approach has limited our ability to iterate, and innovate as quickly as we’d like.</p> +<p>Today, we’re focusing on splitting our monolith applications into smaller, more manageable components. In this talk, I’ll cover in detail how we developed a platform that enables building decoupled, distributed systems that perform and feel like a single application.</p> +<p>We’ve developed a platform that enables the independent deployability of units of user interface units across products and pages. In this talk I’ll describe:</p> +<ul> +<li>The types of problems a decoupled, and distributed frontend solve</li> +<li>The individual subsystems of the platform and how those systems fit together</li> +<li>How we built, and monitor the system, especially as it grows</li> +<li>The tradeoffs, and problems we’ve run into, and how we’ve solved them thus far</li> +<li>How to practically, and incrementally adopt this kind of system in your ecosystem</li> +</ul> + + + + + DevLaunchers - world's most FUN experiment to help teenagers learn game development! + + https://austinjavascript.com/posts/meetups/2019/11/19/ + 2019-11-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Join us for an introduction to <a href="https://devlaunchers.com/">DevLaunchers</a>, an initiative to teach high school students in under-served communities about game development. We'll dive into how we build the website, activities, internal tools and slack event handlers on Cloudflare Workers, CodeSandbox, GitHub Pages and Travis CI.</p> + + + + + Absolute Unit Tests with Jest and Enzyme + + https://austinjavascript.com/posts/meetups/2020/02/18/ + 2020-02-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>Everything you wanted to know about testing React components with <a href="https://jestjs.io/">Jest</a> and <a href="https://enzymejs.github.io/enzyme/">Enzyme</a> Learn what a unit test is, why its useful, and how to test things like: existence of react components, simulated clicks and other events, mocking data, snapshots and more!</p> + + + + + Building Semi-hosted SaaS + + https://austinjavascript.com/posts/meetups/2023/06/20/ + 2023-06-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>Hosted software as a service is great, but can give the provider too much leverage over your data and the software itself. Meanwhile, self-hosted software, like many open source solutions, takes away the key value proposition of SaaS. Luckily, &quot;semi-hosted&quot; is a model that provides the best of both worlds and enables customization and extensibility not usually possible. I want to talk about this pattern and show what you can do with it by demonstrating a semi-hosted personal organizer I've been building with Deno and Mithril.js called Treestar.</p> + + + + + HTML with Superpowers: An introduction to Web Components + + https://austinjavascript.com/posts/meetups/2023/07/18/ + 2023-07-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>A short dive into web components taking a look at what they are, how they work, what problems they solve, what problems they have, and why you may want to use them on your next project.</p> +<p>Dave Rupert is co-founder of Luro, a tool for tracking component usage and insights. He also co-hosts Shoptalk, a web design and development podcast with Chris Coyier from CSS-Tricks.</p> + + + + + 4 or more package managers, what's the worst that could happen? + + https://austinjavascript.com/posts/meetups/2023/08/15/ + 2023-08-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>JavaScript has a horribly rich history of writing package managers with none fully reigning as the final winner in a perpetual war for popularity and utility. Let's cover some of their differences, that actually end up with some fun surprises about nuances in how they work along the way!</p> + + + + + The Rise of Structured Concurrency + + https://austinjavascript.com/posts/meetups/2023/09/19/ + 2023-09-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>Rule 1. Highly concurrent programs are hard.</p> +<p>Rule 2. Every non-trivial program is highly concurrent.</p> +<p>JavaScript gives us some primitives to express asynchrony like promises, and async functions, but unfortunately they do not guarantee correctness. In fact far from it. Most async code is full of edge-cases and foot guns that never reveal themselves until you’re at scale. In this talk, we’ll put names to all these edge-cases and footguns so that you can recognize them instantly when they happen to you. After showing the ills, we’ll talk about the the cure: an exciting new way of thinking about our programs called Structured Concurrency. Language communities from Go, and Rust to Swift and Java, are all ablaze with talk of it, so whether you’ve explored this topic before or this is the first you’ve heard of it, you won’t want to miss this talk, because in ten years time, it will be the norm and we’ll all wonder how we ever did without it.</p> + + + + + Native Mobile Apps with Vanilla JavaScript + + https://austinjavascript.com/posts/meetups/2023/10/17/ + 2023-10-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>Build native mobile apps in JavaScript! Just regular JavaScript without any mobile frameworks.</p> +<p>This can be a great solution if you’re a web developer and JavaScript is your bread and butter. Apps built this way work fast, are quick to deploy, and don’t have to pass App Store reviews every time! So come and learn about the pros and cons of this approach, and what it takes to build a JS native mobile app.</p> + + + + + Remix: Teaching Young Dogs new Tricks + + https://austinjavascript.com/posts/meetups/2024/01/16/ + 2024-01-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Remix is a full stack web framework that lets you focus on the user interface and work back through web standards to deliver a fast, slick, and resilient user experience. In this talk Brooks will show you how Remix makes it easy to iteratively build solid, engaging, and user-centric experiences using the basic building blocks of the web.</p> + + + + + Programmable OS Command Palettes + + https://austinjavascript.com/posts/meetups/2024/02/20/ + 2024-02-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>Command palettes in applications are great — they spare us from reaching for the mouse to go spelunking through menus. Raycast and Script Kit are two delightful tools that are akin to command palettes, accessible from within any application, and programmable with JavaScript! Come, see what's possible, and feel empowered to start building out your own OS command palette!</p> + + + + + Universal React with Expo Router + + https://austinjavascript.com/posts/meetups/2024/03/19/ + 2024-03-19T00:00:00Z + 2025-06-18T15:21:12Z + <p>We’ve all heard of the React motto “write once, run everywhere” but what does this look like in reality? Learn how Expo Router––the universal React framework––is making it possible to reuse complex app development patterns like routing, data fetching, and rendering, across web and native platforms.</p> +<p>I’m the creator of Expo Router, and manage the dev tools/web team at Expo. Bring your most complicated React/React Native questions and I’ll try my best to answer them all.</p> + + + + + Lightning Talks + + https://austinjavascript.com/posts/meetups/2024/04/16/ + 2024-04-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>This month, we are opening the podium to the community, inviting all to take the microphone for a few minutes to show off something that you have learned or discovered recently that has made your life as a JS dev easier! All who are brave enough to present will be rewarded with newly minted AustinJS stickers.</p> +<p>Lightning talks:</p> +<ul> +<li><strong>The Ongoing War Between CJS &amp; ESM: A Presentation on Insecurity &amp; Security</strong> by <a href="https://www.linkedin.com/in/nathangbornstein/">Nathan Bornstein</a></li> +<li><strong>Kill It with Fire: A Flaky Spec Story, Or &quot;How I fixed 2000 flaky specs and learned how to love the build&quot;</strong> by <a href="https://www.linkedin.com/in/nwmullen/">Nicholas Mullen</a></li> +<li><strong>Docker</strong> by <a href="https://www.linkedin.com/in/dylanbriar/">Dylan Briar</a></li> +<li><strong>dynohot</strong> by <a href="https://www.linkedin.com/in/laverdet/">marcel laverdet</a></li> +<li><strong>Running web apps on native mobile devices with Capacitor</strong> by <a href="https://www.linkedin.com/in/ryan-hopper-lowe-33ba95135/">Ryan Hopper-Lowe</a></li> +<li><strong>Pattern for conditional rendering using <Is> component</Is></strong> by <a href="https://www.linkedin.com/in/arnosaine">Arno Saine</a></li> +</ul> + + + + + Making Mobile And Desktop Apps From Your JS Frontend With Tauri + + https://austinjavascript.com/posts/meetups/2024/05/21/ + 2024-05-21T00:00:00Z + 2025-06-18T15:21:12Z + <p>Tauri is a relatively recent, open-source (FLOSS), framework that lets you re-purpose your JS frontend as both a desktop (Mac/Win/Linux) and mobile (iOS/Android) application. It's easy to use and creates small, highly performant, executables.</p> + + + + + JavaScript's Quirks: Understanding the 'Why' Behind the 'What' + + https://austinjavascript.com/posts/meetups/2024/06/18/ + 2024-06-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>JavaScript is a language often mocked for its quirky behaviors, like how 3 + '3' equals '33' or how 0.1 + 0.2 doesn't quite equal 0.3. These peculiarities can be confusing and frustrating, especially for beginners. However, most of these behaviors aren't random or senseless—they stem from historical decisions, compromises, and attempts to handle various use cases. In this talk, we'll explore some of JavaScript's most notorious quirks, exploring their reasoning. We'll cover topics like type coercion, truthy/falsy values, equality comparisons, variable scope and hoisting, the typeof operator, and prototypal inheritance. If you understand the 'why' behind the 'what,' you will be better equipped to write clean, predictable JavaScript code and avoid common pitfalls. Whether you're a JavaScript beginner or an experienced developer, you'll walk away with valuable insights into the language's inner workings.</p> + + + + + Getting Started with Passkeys and WebAuthn + + https://austinjavascript.com/posts/meetups/2024/07/16/ + 2024-07-16T00:00:00Z + 2025-06-18T15:21:12Z + <p>Passwords are vulnerable and frustrating for users. Passkeys promise a seamless and secure authentication future. But understanding the concepts and implementing them into your web application can feel daunting.</p> +<p>In this talk, we'll break down the fundamentals of passkeys, including the WebAuthn specification and the benefits they provide. You'll learn how to set up a simple WebAuthn server, handle registration and authentication flows, and navigate the practical aspects of implementing passkeys in your application. We will cover just enough ground for you to get started and lay out a passkey foundation to be built upon.</p> + + + + + Contorted Frameworks: Resolving the Tension Between Static and Dynamic UIs + + https://austinjavascript.com/posts/meetups/2024/08/20/ + 2024-08-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>Or: &quot;How a Rails developer read the docs, achieved enlightenment, and learned to love React server components&quot;</p> +<p>An exploration of the pain and oddities of how traditional web frameworks attempt to handle high-interactivity dynamic UIs, and how modern front-end frameworks similarly introduce complexity to support low-interactivity static UIs.</p> + + + + + Building Robust Applications with Effect: Mastering Return Types and Monads + + https://austinjavascript.com/posts/meetups/2024/09/17/ + 2024-09-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>Effect is a powerful library that enhances your TypeScript projects by focusing on robust return types, error handling, query retries, interruption management, and observability. With Effect, you can ensure that your functions return consistent and predictable types, making your code more reliable and easier to maintain. It also encourages treating errors as first-class citizens, allowing for graceful error handling and recovery. Additionally, Effect provides mechanisms for retrying queries and managing interruptions, ensuring that your application remains resilient in various scenarios. Finally, its observability features help you monitor and debug your application more effectively. Now, you can take your todo application to the next level and impress everyone with your overengineered masterpiece.</p> + + + + + Making real-time easier than ever with Prisma Pulse + + https://austinjavascript.com/posts/meetups/2024/10/15/ + 2024-10-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>When starting on a new web, fullstack project, developers are spoiled for choice from the many frameworks and services to choose from. For real-time or near real-time apps, there's an even more complicated world to navigate. Instead, what if you could use web APIs and simple to integrate services to power any real-time app? Join Jon as he guides you through everything you might need to create a chat room (spoiler: it's less than you might think!)</p> + + + + + Holiday Party + + https://austinjavascript.com/posts/meetups/2024/12/06/ + 2024-12-06T00:00:00Z + 2025-06-18T15:21:12Z + <p>The holiday party was a blast! We introduced our new Austin JavaScript shirts for the first time, and gave them to the winning table members of the Web Trivia game we played. Plus, some tried out our new battledecks, where each speaker improvised the topic and content based on what slides popped up on the screen. They all did great, and were awarded a shirt as well.</p> + + + + + Cloudflare for Web Dev + + https://austinjavascript.com/posts/meetups/2025/01/29/ + 2025-01-29T00:00:00Z + 2025-06-18T15:21:12Z + <p>Cloudflare offers a cheap and easy suite of tools for developers to build full stack web applications. In this talk, Collier will show how to build and deploy a full stack web app on Cloudflare, covering hosting, storage, databases, background jobs and more.</p> + + + + + Simplifying React App Login + + https://austinjavascript.com/posts/meetups/2025/02/18/ + 2025-02-18T00:00:00Z + 2025-06-18T15:21:12Z + <p>We will focus on overcoming challenges in implementing secure and efficient login processes for React applications. The session covers basic login functionalities, integrating with external identity providers (IDPs), and advanced use cases like Single Sign-On (SSO), Multi-Factor Authentication (MFA), and social login options. Developers will learn how to streamline user authentication using the Asgardeo React SDK, enabling OpenID Connect (OIDC) compliance, token management, and best security practices.</p> + + + + + Effect-TS: Engineering Reliable Open Source Systems + + https://austinjavascript.com/posts/meetups/2025/04/15/ + 2025-04-15T00:00:00Z + 2025-06-18T15:21:12Z + <p>We'll explore the architectural patterns and practices for developing enterprise-ready open-source software using Effect-TS. The session will demonstrate how functional programming principles, through Effect-TS, provide robust solutions for complex enterprise requirements, including error handling, observability, and concurrency management.</p> +<p>Attendees will learn practical techniques for creating specialized effects, designing comprehensive error types, and implementing generation functions that enhance maintainability and scalability. The lecture will showcase these concepts through a HIPAA-compliant medical application lens, illustrating how Effect-TS elegantly addresses the stringent requirements of healthcare software—including audit logging, secure data handling, and regulatory compliance. The session will also cover advanced topics such as building observation services for telemetry and leveraging fiber-based concurrency to create responsive applications that maintain data integrity under load. By examining these enterprise patterns in Effect-TS, developers will gain valuable insights applicable to any industry requiring high reliability, security, and maintainability in their open-source software projects.</p> + + + + + Vibe Coding a Tamagotchi in Next.js + + https://austinjavascript.com/posts/meetups/2025/05/20/ + 2025-05-20T00:00:00Z + 2025-06-18T15:21:12Z + <p>Ever wanted to build something just for the vibes? In this talk, I’ll walk through how I prototyped a Tamagotchi-style app using Next.js and TailwindCSS — not for a client, not for a launch, but just to explore joy in coding. We'll cover core frontend logic (state management, time-based updates), CSS animations, and light gamification. The goal isn’t perfection — it's flow, play, and remembering why we started coding in the first place. Expect code demos, a few laughs, and maybe even a virtual pet revival.</p> + + + + + Universal Tools For AI + + https://austinjavascript.com/posts/meetups/2025/06/17/ + 2025-06-17T00:00:00Z + 2025-06-18T15:21:12Z + <p>Agents are the coolest trend but what are they made of? Let's take a look at what is going on behind the scenes and explore concepts like Model Context Protocol, Function Calling and APIs</p> + + + diff --git a/index.html b/index.html index c87fcdad..648d885c 100644 --- a/index.html +++ b/index.html @@ -1,82 +1,49 @@ ---- -layout: base -title: Austin JavaScript -meta: -description: Austin JavaScript is a community-driven group that meets to discuss JavaScript and the open web. ---- -
-
-
-

{{ title }}

+ - {%- assign meet = collections.meetups | last -%} - {%- meetupDetails meet.date, meet.data.venue, meet.data.after, meet.data.title, 'Upcoming meetup details' -%} - - {%- endmeetupDetails -%} + + + + + + + + Upcoming meetup details + - - -
- -
-

Welcome! Would you happen to be...

- -

You found the perfect place.

-

We are a community-driven group that meets to discuss JavaScript and the open web. Find out more about us or the many ways you can contribute.

-

To see everything for yourself, check out our Meetup page.

-

We work hard to build a community that treats people with excellence. We've formalized this in the Austin JavaScript Code of Conduct.

-
- -
-

Past speakers and talks

- {%- for meetup in collections.meetups reversed -%} - {%- for speaker in meetup.data.speakers -%} - {%- if speaker.name and speaker.avatar -%} -
- - {%- avatar speaker.avatar, speaker.name, 'is-rounded' -%} - -
- {%- endif -%} - {%- endfor -%} - {%- endfor -%} -
- - - -
-
-

Join our mailing list

-

-

Recent meetups

-
    - {%- assign meetups = collections.meetups | flip -%} - {%- for post in meetups limit: 5 -%} -
  • {{ post.data.title }}
  • - {%- endfor -%} -
-

More in archive...

-
-
- \ No newline at end of file + }());

Welcome! Would you happen to be...

You found the perfect place.

We are a community-driven group that meets to discuss JavaScript and the open web. Find out more about us or the many ways you can contribute.

To see everything for yourself, check out our Meetup page.

We work hard to build a community that treats people with excellence. We've formalized this in the Austin JavaScript Code of Conduct.

Past speakers and talks

Orlando Kalossakas
Andrew Njoo
David Bowman
Harsha Thirimanna
Collier King
Jon Harrell
David Bowman
Nicholas Mullen
Lucas Castro
David Bowman
Jason Levitt
Multiple
Evan Bacon
Kevin Kipp
Brooks Lybrand
Anton Astashov
Charles Lowell
Bradley Farias
Dave Rupert
Jeff Lindsay
Nick Gottschlich
Chung-Ting Huang
Kris Gano
Ben Cripps
Tyler Lane
Kas Perch
Mike Taylor
Tim Caswell
John Fawcett
James Y Rauhut
Marie Chatfield
Adam Giese
Simon Swain
Dave Rupert
Anton Astashov
Bradley Farias
Mando Escamilla
J. Kyle Fagan
Ben Vinegar
Andrew Levine
Lon Ingram
Tara Vancil
Paul Frazee
Mark Sims
Lin Clark
Luke Wagner
Anton Astashov
Rachel Weil
Jon Loyens
Yehuda Katz
Lon Ingram
Dave Rupert
Andrew Dupont
Rebecca Murphey
Mike Taylor
Anton Astashov
Benjamin Coe
Alex Sexton
Joe McCann
Tim Tyrrell
Travis Swicegood
Iheanyi Ekechukwu
Jenn Schiffer
Adam J. Sontag
Kyle Simpson
Charles Lowell
Tara Vancil
Rebecca Murphey
Dan DeFelippi
Dan Heberden
Jonathan Lipps
Lon Ingram
Kassandra Perch
Elben Shira
Michael Mullins
Ashley Price
Patty Cifra
Aaron Stacy
Jared Stilwell
Steve Stedman
Alex Sexton
Charles Lowell
Rob Dodson
Garann Means
Jeff Harrell
Erik Toth
Kassandra Perch
Tom Dale
Rebecca Murphey
Mark DiMarco
Lon Ingram
Luke Crouch
David Walsh
Johnathan Hebert
Bert Granges
David Tulig
Garann Means
Mikeal Rogers
Lon Ingram
Ben Combee
Rebecca Murphey
Paolo Fragemeni
Lyle Garza
Kassandra Perch
Bradley Meck
Mike Cravey
Aaron Forsander
J Chris Anderson
Tim Tyrrell
Alex Sexton
Howard Rauscher
David Herman
Dave Rupert
Bradley Meck
Pete Higgins
Brian Leroux
Joe McCann
Kyle Simpson
Mike McNally
Joe McCann
Andrew Dupont
Joe McCann
Alex Sexton
Aaron Forsander
Kyle Simpson
Alex Sexton
Kyle Simpson

Edit this page

\ No newline at end of file diff --git a/january-2012-meetup-details-announced/index.html b/january-2012-meetup-details-announced/index.html new file mode 100644 index 00000000..7ac5f21b --- /dev/null +++ b/january-2012-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/01/17/.

\ No newline at end of file diff --git a/january-20th-meetup-730-pm-rebecca-murphey/index.html b/january-20th-meetup-730-pm-rebecca-murphey/index.html new file mode 100644 index 00000000..1552f1f3 --- /dev/null +++ b/january-20th-meetup-730-pm-rebecca-murphey/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2015/01/21/.

\ No newline at end of file diff --git a/january-21st-meetup-730-pm-paypal-on-node-js/index.html b/january-21st-meetup-730-pm-paypal-on-node-js/index.html new file mode 100644 index 00000000..59701b6f --- /dev/null +++ b/january-21st-meetup-730-pm-paypal-on-node-js/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/01/21/.

\ No newline at end of file diff --git a/january-meetup-details-announced/index.html b/january-meetup-details-announced/index.html new file mode 100644 index 00000000..36b8495a --- /dev/null +++ b/january-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/01/18/.

\ No newline at end of file diff --git a/january2013/index.html b/january2013/index.html new file mode 100644 index 00000000..458b798b --- /dev/null +++ b/january2013/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2013/01/15/.

\ No newline at end of file diff --git a/july-15th-meetup-730-pm-lightning-talks/index.html b/july-15th-meetup-730-pm-lightning-talks/index.html new file mode 100644 index 00000000..12abfed5 --- /dev/null +++ b/july-15th-meetup-730-pm-lightning-talks/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/07/15/.

\ No newline at end of file diff --git a/july-2012-austin-javascript-meetup-details-announced/index.html b/july-2012-austin-javascript-meetup-details-announced/index.html new file mode 100644 index 00000000..32fd8a92 --- /dev/null +++ b/july-2012-austin-javascript-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/07/17/.

\ No newline at end of file diff --git a/july-2013/index.html b/july-2013/index.html new file mode 100644 index 00000000..dc5f81ff --- /dev/null +++ b/july-2013/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2013/07/16/.

\ No newline at end of file diff --git a/july-meetup-details-announced-finally/index.html b/july-meetup-details-announced-finally/index.html new file mode 100644 index 00000000..67476c1c --- /dev/null +++ b/july-meetup-details-announced-finally/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/07/19/.

\ No newline at end of file diff --git a/july-meetup-details-announced/index.html b/july-meetup-details-announced/index.html new file mode 100644 index 00000000..aac7f299 --- /dev/null +++ b/july-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/07/20/.

\ No newline at end of file diff --git a/june-17th-meetup-730-pm-jared-stilwell/index.html b/june-17th-meetup-730-pm-jared-stilwell/index.html new file mode 100644 index 00000000..7e3f4773 --- /dev/null +++ b/june-17th-meetup-730-pm-jared-stilwell/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/06/17/.

\ No newline at end of file diff --git a/june-2012-meetup-details-announced/index.html b/june-2012-meetup-details-announced/index.html new file mode 100644 index 00000000..f233239d --- /dev/null +++ b/june-2012-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/06/19/.

\ No newline at end of file diff --git a/june-2013/index.html b/june-2013/index.html new file mode 100644 index 00000000..23973d0d --- /dev/null +++ b/june-2013/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2013/06/18/.

\ No newline at end of file diff --git a/june-meetup-details-announced/index.html b/june-meetup-details-announced/index.html new file mode 100644 index 00000000..e75e9376 --- /dev/null +++ b/june-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/06/21/.

\ No newline at end of file diff --git a/june-meetup-details-xui-and-cross-domain-hacking/index.html b/june-meetup-details-xui-and-cross-domain-hacking/index.html new file mode 100644 index 00000000..b43ef2a9 --- /dev/null +++ b/june-meetup-details-xui-and-cross-domain-hacking/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/06/15/.

\ No newline at end of file diff --git a/may-19th-meetup-730-pm-charles-lowell/index.html b/may-19th-meetup-730-pm-charles-lowell/index.html new file mode 100644 index 00000000..3309ec65 --- /dev/null +++ b/may-19th-meetup-730-pm-charles-lowell/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2015/05/19/.

\ No newline at end of file diff --git a/may-2012-meetup-details-announced/index.html b/may-2012-meetup-details-announced/index.html new file mode 100644 index 00000000..e0469385 --- /dev/null +++ b/may-2012-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/05/15/.

\ No newline at end of file diff --git a/may-2013-austin-javascript-details-announced/index.html b/may-2013-austin-javascript-details-announced/index.html new file mode 100644 index 00000000..e3397d56 --- /dev/null +++ b/may-2013-austin-javascript-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2013/05/21/.

\ No newline at end of file diff --git a/may-20th-meetup-730-pm-steve-stedman-and-alex-sexton/index.html b/may-20th-meetup-730-pm-steve-stedman-and-alex-sexton/index.html new file mode 100644 index 00000000..8db862cd --- /dev/null +++ b/may-20th-meetup-730-pm-steve-stedman-and-alex-sexton/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/05/20/.

\ No newline at end of file diff --git a/may-meetup-details-announced/index.html b/may-meetup-details-announced/index.html new file mode 100644 index 00000000..25846179 --- /dev/null +++ b/may-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/05/17/.

\ No newline at end of file diff --git a/new-location-for-the-austin-javascript-meetup/index.html b/new-location-for-the-austin-javascript-meetup/index.html new file mode 100644 index 00000000..f11dc605 --- /dev/null +++ b/new-location-for-the-austin-javascript-meetup/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/new-location-for-the-austin-javascript-meetup/.

\ No newline at end of file diff --git a/no-october-meetup/index.html b/no-october-meetup/index.html new file mode 100644 index 00000000..f64d4f78 --- /dev/null +++ b/no-october-meetup/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/no-october-meetup/.

\ No newline at end of file diff --git a/november-19th-meetup-730-pm-kassandra-perch-on-flight/index.html b/november-19th-meetup-730-pm-kassandra-perch-on-flight/index.html new file mode 100644 index 00000000..aac13904 --- /dev/null +++ b/november-19th-meetup-730-pm-kassandra-perch-on-flight/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2013/11/19/.

\ No newline at end of file diff --git a/november-details-announced/index.html b/november-details-announced/index.html new file mode 100644 index 00000000..26a421f3 --- /dev/null +++ b/november-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/11/15/.

\ No newline at end of file diff --git a/november-meetup-details-announced/index.html b/november-meetup-details-announced/index.html new file mode 100644 index 00000000..b51ba555 --- /dev/null +++ b/november-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/11/16/.

\ No newline at end of file diff --git a/october-2012-austin-javascript-meetup-details-announced/index.html b/october-2012-austin-javascript-meetup-details-announced/index.html new file mode 100644 index 00000000..328d11e7 --- /dev/null +++ b/october-2012-austin-javascript-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/10/16/.

\ No newline at end of file diff --git a/october-2013/index.html b/october-2013/index.html new file mode 100644 index 00000000..fd2d8fc2 --- /dev/null +++ b/october-2013/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2013/10/15/.

\ No newline at end of file diff --git a/october-21st-meetup-730-pm-dan-defelippi/index.html b/october-21st-meetup-730-pm-dan-defelippi/index.html new file mode 100644 index 00000000..e699beaf --- /dev/null +++ b/october-21st-meetup-730-pm-dan-defelippi/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/10/21/.

\ No newline at end of file diff --git a/october-meetup-details-announced/index.html b/october-meetup-details-announced/index.html new file mode 100644 index 00000000..fec1b8b1 --- /dev/null +++ b/october-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/10/19/.

\ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index f19b16b4..00000000 --- a/package-lock.json +++ /dev/null @@ -1,10689 +0,0 @@ -{ - "name": "AustinJavaScript.com", - "version": "3.2.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "AustinJavaScript.com", - "version": "3.2.1", - "license": "MIT", - "dependencies": { - "@11ty/eleventy": "^1.0.2", - "@11ty/eleventy-img": "^2.0.1", - "@11ty/eleventy-plugin-rss": "^1.2.0", - "bulma": "^0.9.4", - "html-minifier": "^4.0.0", - "markdown-it": "^13.0.1", - "purgecss": "^5.0.0", - "sass": "^1.81.0" - }, - "devDependencies": { - "eslint": "^8.27.0", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-plugin-import": "^2.26.0", - "markdownlint": "^0.26.2", - "markdownlint-cli": "^0.32.2" - } - }, - "node_modules/@11ty/dependency-tree": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-2.0.1.tgz", - "integrity": "sha512-5R+DsT9LJ9tXiSQ4y+KLFppCkQyXhzAm1AIuBWE/sbU0hSXY5pkhoqQYEcPJQFg/nglL+wD55iv2j+7O96UAvg==" - }, - "node_modules/@11ty/eleventy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-1.0.2.tgz", - "integrity": "sha512-03ER4zukR6BgwppI5DHRE11lc+8B0fWsBrqacVWo3o49QkdEFXnEWjhyI9qd9LrPlgQHK2/MYyxuOvNwecyCLQ==", - "dependencies": { - "@11ty/dependency-tree": "^2.0.1", - "@11ty/eleventy-utils": "^1.0.1", - "@iarna/toml": "^2.2.5", - "@sindresorhus/slugify": "^1.1.2", - "browser-sync": "^2.27.10", - "chokidar": "^3.5.3", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "dependency-graph": "^0.11.0", - "ejs": "^3.1.8", - "fast-glob": "^3.2.11", - "graceful-fs": "^4.2.10", - "gray-matter": "^4.0.3", - "hamljs": "^0.6.2", - "handlebars": "^4.7.7", - "is-glob": "^4.0.3", - "kleur": "^4.1.5", - "liquidjs": "^9.40.0", - "lodash": "^4.17.21", - "luxon": "^2.5.0", - "markdown-it": "^12.3.2", - "minimist": "^1.2.6", - "moo": "^0.5.1", - "multimatch": "^5.0.0", - "mustache": "^4.2.0", - "normalize-path": "^3.0.0", - "nunjucks": "^3.2.3", - "path-to-regexp": "^6.2.1", - "please-upgrade-node": "^3.2.0", - "pretty": "^2.0.0", - "pug": "^3.0.2", - "recursive-copy": "^2.0.14", - "semver": "^7.3.7", - "slugify": "^1.6.5" - }, - "bin": { - "eleventy": "cmd.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/11ty" - } - }, - "node_modules/@11ty/eleventy-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-fetch/-/eleventy-fetch-3.0.0.tgz", - "integrity": "sha512-qJvfb331rYQAmlCS71Ygg0/XHUdB4/qXBOLsG0DJ1m61WL5JNha52OtKVeQq34u2J2Nfzim+X4TIL/+QyesB7Q==", - "dependencies": { - "debug": "^4.3.3", - "flat-cache": "^3.0.4", - "node-fetch": "^2.6.7", - "p-queue": "^6.6.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/11ty" - } - }, - "node_modules/@11ty/eleventy-img": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-img/-/eleventy-img-2.0.1.tgz", - "integrity": "sha512-l30E+TszoovF/NK0WRc1oQoI42VxmYyM3O9cPiS20alSBHucX92RFdwl9HMDyRoh1g+App3+PomFIa5FKkb1Dw==", - "dependencies": { - "@11ty/eleventy-fetch": "^3.0.0", - "debug": "^4.3.3", - "image-size": "^1.0.1", - "p-queue": "^6.6.2", - "sharp": "^0.30.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/11ty" - } - }, - "node_modules/@11ty/eleventy-plugin-rss": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-rss/-/eleventy-plugin-rss-1.2.0.tgz", - "integrity": "sha512-YzFnSH/5pObcFnqZ2sAQ782WmpOZHj1+xB9ydY/0j7BZ2jUNahn53VmwCB/sBRwXA/Fbwwj90q1MLo01Ru0UaQ==", - "dependencies": { - "debug": "^4.3.4", - "posthtml": "^0.16.6", - "posthtml-urls": "1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/11ty" - } - }, - "node_modules/@11ty/eleventy-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.1.tgz", - "integrity": "sha512-HPpCTz4PzudcQU+i+x6GSNHVqgnvRhnVYg5dLKaAoRWLN966odAGsBxKSyhF8i1MdlOPtsytYb2AGWP7jISC5w==", - "dependencies": { - "normalize-path": "^3.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/11ty" - } - }, - "node_modules/@11ty/eleventy/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/@11ty/eleventy/node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@11ty/eleventy/node_modules/linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/@11ty/eleventy/node_modules/markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "dependencies": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", - "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", - "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", - "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.0", - "@parcel/watcher-darwin-arm64": "2.5.0", - "@parcel/watcher-darwin-x64": "2.5.0", - "@parcel/watcher-freebsd-x64": "2.5.0", - "@parcel/watcher-linux-arm-glibc": "2.5.0", - "@parcel/watcher-linux-arm-musl": "2.5.0", - "@parcel/watcher-linux-arm64-glibc": "2.5.0", - "@parcel/watcher-linux-arm64-musl": "2.5.0", - "@parcel/watcher-linux-x64-glibc": "2.5.0", - "@parcel/watcher-linux-x64-musl": "2.5.0", - "@parcel/watcher-win32-arm64": "2.5.0", - "@parcel/watcher-win32-ia32": "2.5.0", - "@parcel/watcher-win32-x64": "2.5.0" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz", - "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz", - "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz", - "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz", - "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz", - "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz", - "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz", - "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz", - "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", - "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", - "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz", - "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz", - "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz", - "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "optional": true - }, - "node_modules/@sindresorhus/slugify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz", - "integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==", - "dependencies": { - "@sindresorhus/transliterate": "^0.1.1", - "escape-string-regexp": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@sindresorhus/transliterate": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz", - "integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==", - "dependencies": { - "escape-string-regexp": "^2.0.0", - "lodash.deburr": "^4.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - }, - "node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/a-sync-waterfall": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", - "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/any-promise": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", - "integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=" - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "engines": { - "node": ">=8" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "node_modules/assert-never": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", - "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==" - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/babel-walk": { - "version": "3.0.0-canary-5", - "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", - "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", - "dependencies": { - "@babel/types": "^7.9.6" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-sync": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz", - "integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==", - "dependencies": { - "browser-sync-client": "^2.27.10", - "browser-sync-ui": "^2.27.10", - "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", - "chokidar": "^3.5.1", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "3.1.0", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "^1.18.1", - "immutable": "^3", - "localtunnel": "^2.0.1", - "micromatch": "^4.0.2", - "opn": "5.3.0", - "portscanner": "2.2.0", - "qs": "6.2.3", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "0.16.2", - "serve-index": "1.9.1", - "serve-static": "1.13.2", - "server-destroy": "1.0.1", - "socket.io": "^4.4.1", - "ua-parser-js": "1.0.2", - "yargs": "^17.3.1" - }, - "bin": { - "browser-sync": "dist/bin.js" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/browser-sync-client": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz", - "integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==", - "dependencies": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6", - "typescript": "^4.6.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/browser-sync-ui": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz", - "integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==", - "dependencies": { - "async-each-series": "0.1.1", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^4.4.1", - "stream-throttle": "^0.1.3" - } - }, - "node_modules/bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==" - }, - "node_modules/bs-snippet-injector": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", - "integrity": "sha512-4u8IgB+L9L+S5hknOj3ddNSb42436gsnGm1AuM15B7CdbkpQTyVWgIM5/JUBiKiRwGOR86uo0Lu/OsX+SAlJmw==" - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bulma": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.4.tgz", - "integrity": "sha512-86FlT5+1GrsgKbPLRRY7cGDg8fsJiP/jzTqXXVqiUZZ2aZT8uemEOHlU1CDU+TxklPEZ11HZNNWclRBBecP4CQ==" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "node_modules/character-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", - "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", - "dependencies": { - "is-regex": "^1.0.3" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/condense-newlines": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", - "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-whitespace": "^0.3.0", - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/condense-newlines/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, - "node_modules/connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/constantinople": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", - "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", - "dependencies": { - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.1" - } - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" - }, - "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", - "bin": { - "dev-ip": "lib/dev-ip.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/doctypes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", - "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" - }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "dependencies": { - "lodash": "^4.17.10" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/eazy-logger": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz", - "integrity": "sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==", - "dependencies": { - "tfunk": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "dependencies": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "bin": { - "editorconfig": "bin/editorconfig" - } - }, - "node_modules/editorconfig/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/editorconfig/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "peer": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", - "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-client": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz", - "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", - "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.2" - } - }, - "node_modules/eslint-config-airbnb-base/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dev": true, - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/hamljs": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/hamljs/-/hamljs-0.6.2.tgz", - "integrity": "sha1-e3EWz22+cnjkKz9u+HJaM+F3yOM=" - }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", - "dependencies": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", - "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" - }, - "bin": { - "html-minifier": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/html-minifier/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "node_modules/http-equiv-refresh": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz", - "integrity": "sha1-jsU4hmBCvl8/evpzfRmNlL6xsHs=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-expression": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", - "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", - "dependencies": { - "acorn": "^7.1.1", - "object-assign": "^4.1.1" - } - }, - "node_modules/is-expression/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-json": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", - "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dependencies": { - "lodash.isfinite": "^3.3.2" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-whitespace": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", - "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/js-beautify": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.0.tgz", - "integrity": "sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==", - "dependencies": { - "config-chain": "^1.1.12", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "nopt": "^5.0.0" - }, - "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true - }, - "node_modules/js-stringify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" - }, - "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jstransformer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", - "dependencies": { - "is-promise": "^2.0.0", - "promise": "^7.0.1" - } - }, - "node_modules/junk": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", - "integrity": "sha512-3KF80UaaSSxo8jVnRYtMKNGFOoVPBdkkVPsw+Ad0y4oxKXPduS6G6iHkrf69yJVff/VAaYXkV42rtZ7daJxU3w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" - }, - "node_modules/linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/liquidjs": { - "version": "9.42.1", - "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.42.1.tgz", - "integrity": "sha512-7Dbxs2M7W0EwemTWkBNCLR7YZJ6Bm5FYJ+djMgAj4znqquSoex314JncMSxFsU5CkOC/4LZxecMq3LNgXrVYoQ==", - "bin": { - "liquid": "bin/liquid.js", - "liquidjs": "bin/liquid.js" - }, - "engines": { - "node": ">=4.8.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/liquidjs" - } - }, - "node_modules/list-to-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz", - "integrity": "sha1-yn3/ZAYGQzysdcvoRGrNhksVv28=" - }, - "node_modules/localtunnel": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", - "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", - "dependencies": { - "axios": "0.21.4", - "debug": "4.3.2", - "openurl": "1.1.1", - "yargs": "17.1.1" - }, - "bin": { - "lt": "bin/lt.js" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/localtunnel/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/localtunnel/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/localtunnel/node_modules/yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.deburr": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", - "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==" - }, - "node_modules/lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" - }, - "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/luxon": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.2.tgz", - "integrity": "sha512-Yg7/RDp4nedqmLgyH0LwgGRvMEKVzKbUdkBYyCosbHgJ+kaOUx0qzSiSatVc3DFygnirTPYnMM2P5dg2uH1WvA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/markdown-it": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", - "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", - "dependencies": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/markdownlint": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz", - "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==", - "dev": true, - "dependencies": { - "markdown-it": "13.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/markdownlint-cli": { - "version": "0.32.2", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.32.2.tgz", - "integrity": "sha512-xmJT1rGueUgT4yGNwk6D0oqQr90UJ7nMyakXtqjgswAkEhYYqjHew9RY8wDbOmh2R270IWjuKSeZzHDEGPAUkQ==", - "dev": true, - "dependencies": { - "commander": "~9.4.0", - "get-stdin": "~9.0.0", - "glob": "~8.0.3", - "ignore": "~5.2.0", - "js-yaml": "^4.1.0", - "jsonc-parser": "~3.1.0", - "markdownlint": "~0.26.2", - "markdownlint-rule-helpers": "~0.17.2", - "minimatch": "~5.1.0", - "run-con": "~1.2.11" - }, - "bin": { - "markdownlint": "markdownlint.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/markdownlint-cli/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/markdownlint-cli/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/markdownlint-cli/node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/markdownlint-cli/node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdownlint-cli/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/markdownlint-cli/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/markdownlint-cli/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/markdownlint-rule-helpers": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz", - "integrity": "sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/maximatch": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", - "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", - "dependencies": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maximatch/node_modules/array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maximatch/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maximatch/node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "bin": { - "mime": "cli.js" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/moo": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", - "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==" - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "bin": { - "mustache": "bin/mustache" - } - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dependencies": { - "lower-case": "^1.1.1" - } - }, - "node_modules/node-abi": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz", - "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", - "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nunjucks": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.3.tgz", - "integrity": "sha512-psb6xjLj47+fE76JdZwskvwG4MYsQKXUtMsPh6U0YMvmyjRtKRFcxnlXGWglNybtNTNVmGdp94K62/+NjF5FDQ==", - "dependencies": { - "a-sync-waterfall": "^1.0.0", - "asap": "^2.0.3", - "commander": "^5.1.0" - }, - "bin": { - "nunjucks-precompile": "bin/precompile" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "chokidar": "^3.3.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==" - }, - "node_modules/opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dependencies": { - "no-case": "^2.2.0" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-srcset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", - "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/portscanner": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", - "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", - "dependencies": { - "async": "^2.6.0", - "is-number-like": "^1.0.3" - }, - "engines": { - "node": ">=0.4", - "npm": ">=1.0.0" - } - }, - "node_modules/portscanner/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "dependencies": { - "htmlparser2": "^7.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "dependencies": { - "is-json": "^2.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/posthtml-urls": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/posthtml-urls/-/posthtml-urls-1.0.0.tgz", - "integrity": "sha512-CMJ0L009sGQVUuYM/g6WJdscsq6ooAwhUuF6CDlYPMLxKp2rmCYVebEU+wZGxnQstGJhZPMvXsRhtqekILd5/w==", - "dependencies": { - "http-equiv-refresh": "^1.0.0", - "list-to-array": "^1.1.0", - "parse-srcset": "^1.0.2", - "promise-each": "^2.2.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", - "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", - "dependencies": { - "condense-newlines": "^0.2.1", - "extend-shallow": "^2.0.1", - "js-beautify": "^1.6.12" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/promise-each": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz", - "integrity": "sha1-M1MXTv8mlEgQN+BOAfd6oPttG2A=", - "dependencies": { - "any-promise": "^0.1.0" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "node_modules/pug": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", - "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", - "dependencies": { - "pug-code-gen": "^3.0.2", - "pug-filters": "^4.0.0", - "pug-lexer": "^5.0.1", - "pug-linker": "^4.0.0", - "pug-load": "^3.0.0", - "pug-parser": "^6.0.0", - "pug-runtime": "^3.0.1", - "pug-strip-comments": "^2.0.0" - } - }, - "node_modules/pug-attrs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", - "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", - "dependencies": { - "constantinople": "^4.0.1", - "js-stringify": "^1.0.2", - "pug-runtime": "^3.0.0" - } - }, - "node_modules/pug-code-gen": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", - "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", - "dependencies": { - "constantinople": "^4.0.1", - "doctypes": "^1.1.0", - "js-stringify": "^1.0.2", - "pug-attrs": "^3.0.0", - "pug-error": "^2.0.0", - "pug-runtime": "^3.0.0", - "void-elements": "^3.1.0", - "with": "^7.0.0" - } - }, - "node_modules/pug-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", - "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==" - }, - "node_modules/pug-filters": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", - "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", - "dependencies": { - "constantinople": "^4.0.1", - "jstransformer": "1.0.0", - "pug-error": "^2.0.0", - "pug-walk": "^2.0.0", - "resolve": "^1.15.1" - } - }, - "node_modules/pug-lexer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", - "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", - "dependencies": { - "character-parser": "^2.2.0", - "is-expression": "^4.0.0", - "pug-error": "^2.0.0" - } - }, - "node_modules/pug-linker": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", - "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", - "dependencies": { - "pug-error": "^2.0.0", - "pug-walk": "^2.0.0" - } - }, - "node_modules/pug-load": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", - "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", - "dependencies": { - "object-assign": "^4.1.1", - "pug-walk": "^2.0.0" - } - }, - "node_modules/pug-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", - "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", - "dependencies": { - "pug-error": "^2.0.0", - "token-stream": "1.0.0" - } - }, - "node_modules/pug-runtime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", - "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==" - }, - "node_modules/pug-strip-comments": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", - "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", - "dependencies": { - "pug-error": "^2.0.0" - } - }, - "node_modules/pug-walk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", - "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/purgecss": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-5.0.0.tgz", - "integrity": "sha512-RAnuxrGuVyLLTr8uMbKaxDRGWMgK5CCYDfRyUNNcaz5P3kGgD2b7ymQGYEyo2ST7Tl/ScwFgf5l3slKMxHSbrw==", - "dependencies": { - "commander": "^9.0.0", - "glob": "^8.0.3", - "postcss": "^8.4.4", - "postcss-selector-parser": "^6.0.7" - }, - "bin": { - "purgecss": "bin/purgecss.js" - } - }, - "node_modules/purgecss/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/purgecss/node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/purgecss/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/purgecss/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha512-AY4g8t3LMboim0t6XWFdz6J5OuJ1ZNYu54SXihS/OMpgyCqYmcAJnWqkNSOjSjWmq3xxy+GF9uWQI2lI/7tKIA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recursive-copy": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.14.tgz", - "integrity": "sha512-K8WNY8f8naTpfbA+RaXmkaQuD1IeW9EgNEfyGxSqqTQukpVtoOKros9jUqbpEsSw59YOmpd8nCBgtqJZy5nvog==", - "dependencies": { - "errno": "^0.1.2", - "graceful-fs": "^4.1.4", - "junk": "^1.0.1", - "maximatch": "^0.1.0", - "mkdirp": "^0.5.1", - "pify": "^2.3.0", - "promise": "^7.0.1", - "rimraf": "^2.7.1", - "slash": "^1.0.0" - } - }, - "node_modules/recursive-copy/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/recursive-copy/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==", - "dependencies": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/resp-modifier/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/resp-modifier/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-con": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz", - "integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~3.0.0", - "minimist": "^1.2.6", - "strip-json-comments": "~3.1.1" - }, - "bin": { - "run-con": "cli.js" - } - }, - "node_modules/run-con/node_modules/ini": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", - "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/run-con/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==" - }, - "node_modules/rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dependencies": { - "symbol-observable": "1.0.1" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sass": { - "version": "1.81.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.81.0.tgz", - "integrity": "sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA==", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass/node_modules/chokidar": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", - "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass/node_modules/immutable": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.2.tgz", - "integrity": "sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw==" - }, - "node_modules/sass/node_modules/readdirp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", - "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/send/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/send/node_modules/statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/sharp": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", - "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", - "hasInstallScript": true, - "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.1", - "node-addon-api": "^5.0.0", - "prebuild-install": "^7.1.1", - "semver": "^7.3.7", - "simple-get": "^4.0.1", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/slugify": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz", - "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/socket.io": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", - "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" - }, - "node_modules/socket.io-client": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz", - "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.2.3", - "socket.io-parser": "~4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", - "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", - "dependencies": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - }, - "bin": { - "throttleproxy": "bin/throttleproxy.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/stream-throttle/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/tfunk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-4.0.0.tgz", - "integrity": "sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==", - "dependencies": { - "chalk": "^1.1.3", - "dlv": "^1.1.3" - } - }, - "node_modules/tfunk/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/token-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", - "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=" - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz", - "integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "node_modules/uglify-js": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.2.tgz", - "integrity": "sha512-GXCYNwqoo0MbLARghYjxVBxDCnU0tLqN7IPLdHHbibCb1NI5zBkU2EPcy/GaVxc0BtTjqyGXJCINe6JMR2Dpow==", - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/with": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", - "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", - "dependencies": { - "@babel/parser": "^7.9.6", - "@babel/types": "^7.9.6", - "assert-never": "^1.2.1", - "babel-walk": "3.0.0-canary-5" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@11ty/dependency-tree": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-2.0.1.tgz", - "integrity": "sha512-5R+DsT9LJ9tXiSQ4y+KLFppCkQyXhzAm1AIuBWE/sbU0hSXY5pkhoqQYEcPJQFg/nglL+wD55iv2j+7O96UAvg==" - }, - "@11ty/eleventy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-1.0.2.tgz", - "integrity": "sha512-03ER4zukR6BgwppI5DHRE11lc+8B0fWsBrqacVWo3o49QkdEFXnEWjhyI9qd9LrPlgQHK2/MYyxuOvNwecyCLQ==", - "requires": { - "@11ty/dependency-tree": "^2.0.1", - "@11ty/eleventy-utils": "^1.0.1", - "@iarna/toml": "^2.2.5", - "@sindresorhus/slugify": "^1.1.2", - "browser-sync": "^2.27.10", - "chokidar": "^3.5.3", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "dependency-graph": "^0.11.0", - "ejs": "^3.1.8", - "fast-glob": "^3.2.11", - "graceful-fs": "^4.2.10", - "gray-matter": "^4.0.3", - "hamljs": "^0.6.2", - "handlebars": "^4.7.7", - "is-glob": "^4.0.3", - "kleur": "^4.1.5", - "liquidjs": "^9.40.0", - "lodash": "^4.17.21", - "luxon": "^2.5.0", - "markdown-it": "^12.3.2", - "minimist": "^1.2.6", - "moo": "^0.5.1", - "multimatch": "^5.0.0", - "mustache": "^4.2.0", - "normalize-path": "^3.0.0", - "nunjucks": "^3.2.3", - "path-to-regexp": "^6.2.1", - "please-upgrade-node": "^3.2.0", - "pretty": "^2.0.0", - "pug": "^3.0.2", - "recursive-copy": "^2.0.14", - "semver": "^7.3.7", - "slugify": "^1.6.5" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "requires": { - "uc.micro": "^1.0.1" - } - }, - "markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "requires": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } - } - } - }, - "@11ty/eleventy-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-fetch/-/eleventy-fetch-3.0.0.tgz", - "integrity": "sha512-qJvfb331rYQAmlCS71Ygg0/XHUdB4/qXBOLsG0DJ1m61WL5JNha52OtKVeQq34u2J2Nfzim+X4TIL/+QyesB7Q==", - "requires": { - "debug": "^4.3.3", - "flat-cache": "^3.0.4", - "node-fetch": "^2.6.7", - "p-queue": "^6.6.2" - } - }, - "@11ty/eleventy-img": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-img/-/eleventy-img-2.0.1.tgz", - "integrity": "sha512-l30E+TszoovF/NK0WRc1oQoI42VxmYyM3O9cPiS20alSBHucX92RFdwl9HMDyRoh1g+App3+PomFIa5FKkb1Dw==", - "requires": { - "@11ty/eleventy-fetch": "^3.0.0", - "debug": "^4.3.3", - "image-size": "^1.0.1", - "p-queue": "^6.6.2", - "sharp": "^0.30.3" - } - }, - "@11ty/eleventy-plugin-rss": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-rss/-/eleventy-plugin-rss-1.2.0.tgz", - "integrity": "sha512-YzFnSH/5pObcFnqZ2sAQ782WmpOZHj1+xB9ydY/0j7BZ2jUNahn53VmwCB/sBRwXA/Fbwwj90q1MLo01Ru0UaQ==", - "requires": { - "debug": "^4.3.4", - "posthtml": "^0.16.6", - "posthtml-urls": "1.0.0" - } - }, - "@11ty/eleventy-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.1.tgz", - "integrity": "sha512-HPpCTz4PzudcQU+i+x6GSNHVqgnvRhnVYg5dLKaAoRWLN966odAGsBxKSyhF8i1MdlOPtsytYb2AGWP7jISC5w==", - "requires": { - "normalize-path": "^3.0.0" - } - }, - "@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", - "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==" - }, - "@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", - "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" - } - } - }, - "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@parcel/watcher": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", - "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", - "optional": true, - "requires": { - "@parcel/watcher-android-arm64": "2.5.0", - "@parcel/watcher-darwin-arm64": "2.5.0", - "@parcel/watcher-darwin-x64": "2.5.0", - "@parcel/watcher-freebsd-x64": "2.5.0", - "@parcel/watcher-linux-arm-glibc": "2.5.0", - "@parcel/watcher-linux-arm-musl": "2.5.0", - "@parcel/watcher-linux-arm64-glibc": "2.5.0", - "@parcel/watcher-linux-arm64-musl": "2.5.0", - "@parcel/watcher-linux-x64-glibc": "2.5.0", - "@parcel/watcher-linux-x64-musl": "2.5.0", - "@parcel/watcher-win32-arm64": "2.5.0", - "@parcel/watcher-win32-ia32": "2.5.0", - "@parcel/watcher-win32-x64": "2.5.0", - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "dependencies": { - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "optional": true - }, - "node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "optional": true - } - } - }, - "@parcel/watcher-android-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz", - "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==", - "optional": true - }, - "@parcel/watcher-darwin-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz", - "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==", - "optional": true - }, - "@parcel/watcher-darwin-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz", - "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==", - "optional": true - }, - "@parcel/watcher-freebsd-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz", - "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==", - "optional": true - }, - "@parcel/watcher-linux-arm-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz", - "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==", - "optional": true - }, - "@parcel/watcher-linux-arm-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz", - "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==", - "optional": true - }, - "@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz", - "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==", - "optional": true - }, - "@parcel/watcher-linux-arm64-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz", - "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==", - "optional": true - }, - "@parcel/watcher-linux-x64-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", - "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", - "optional": true - }, - "@parcel/watcher-linux-x64-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", - "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", - "optional": true - }, - "@parcel/watcher-win32-arm64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz", - "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==", - "optional": true - }, - "@parcel/watcher-win32-ia32": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz", - "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==", - "optional": true - }, - "@parcel/watcher-win32-x64": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz", - "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==", - "optional": true - }, - "@sindresorhus/slugify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz", - "integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==", - "requires": { - "@sindresorhus/transliterate": "^0.1.1", - "escape-string-regexp": "^4.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - } - } - }, - "@sindresorhus/transliterate": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz", - "integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==", - "requires": { - "escape-string-regexp": "^2.0.0", - "lodash.deburr": "^4.1.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "a-sync-waterfall": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", - "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "any-promise": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", - "integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=" - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "assert-never": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", - "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==" - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "babel-walk": { - "version": "3.0.0-canary-5", - "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", - "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", - "requires": { - "@babel/types": "^7.9.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-sync": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz", - "integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==", - "requires": { - "browser-sync-client": "^2.27.10", - "browser-sync-ui": "^2.27.10", - "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", - "chokidar": "^3.5.1", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "3.1.0", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "^1.18.1", - "immutable": "^3", - "localtunnel": "^2.0.1", - "micromatch": "^4.0.2", - "opn": "5.3.0", - "portscanner": "2.2.0", - "qs": "6.2.3", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "0.16.2", - "serve-index": "1.9.1", - "serve-static": "1.13.2", - "server-destroy": "1.0.1", - "socket.io": "^4.4.1", - "ua-parser-js": "1.0.2", - "yargs": "^17.3.1" - } - }, - "browser-sync-client": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz", - "integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==", - "requires": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6", - "typescript": "^4.6.2" - } - }, - "browser-sync-ui": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz", - "integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==", - "requires": { - "async-each-series": "0.1.1", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^4.4.1", - "stream-throttle": "^0.1.3" - } - }, - "bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==" - }, - "bs-snippet-injector": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", - "integrity": "sha512-4u8IgB+L9L+S5hknOj3ddNSb42436gsnGm1AuM15B7CdbkpQTyVWgIM5/JUBiKiRwGOR86uo0Lu/OsX+SAlJmw==" - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "bulma": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.4.tgz", - "integrity": "sha512-86FlT5+1GrsgKbPLRRY7cGDg8fsJiP/jzTqXXVqiUZZ2aZT8uemEOHlU1CDU+TxklPEZ11HZNNWclRBBecP4CQ==" - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "character-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", - "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", - "requires": { - "is-regex": "^1.0.3" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "requires": { - "source-map": "~0.6.0" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "requires": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "dependencies": { - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "condense-newlines": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", - "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", - "requires": { - "extend-shallow": "^2.0.1", - "is-whitespace": "^0.3.0", - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==", - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - }, - "constantinople": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", - "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", - "requires": { - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.1" - } - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" - }, - "detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" - }, - "dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==" - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "doctypes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", - "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "dependencies": { - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - } - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "requires": { - "lodash": "^4.17.10" - } - }, - "eazy-logger": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz", - "integrity": "sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==", - "requires": { - "tfunk": "^4.0.0" - } - }, - "editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "requires": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "peer": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "peer": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", - "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - } - }, - "engine.io-client": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz", - "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==" - }, - "entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==" - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, - "es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", - "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - } - } - }, - "eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - }, - "dependencies": { - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "requires": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - } - }, - "hamljs": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/hamljs/-/hamljs-0.6.2.tgz", - "integrity": "sha1-e3EWz22+cnjkKz9u+HJaM+F3yOM=" - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - } - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", - "requires": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", - "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, - "http-equiv-refresh": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz", - "integrity": "sha1-jsU4hmBCvl8/evpzfRmNlL6xsHs=" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - } - } - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "requires": { - "queue": "6.0.2" - } - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==" - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-expression": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", - "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", - "requires": { - "acorn": "^7.1.1", - "object-assign": "^4.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-json": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", - "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "requires": { - "lodash.isfinite": "^3.3.2" - } - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-whitespace": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", - "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "js-beautify": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.0.tgz", - "integrity": "sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==", - "requires": { - "config-chain": "^1.1.12", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "nopt": "^5.0.0" - } - }, - "js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true - }, - "js-stringify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", - "dev": true - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jstransformer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", - "requires": { - "is-promise": "^2.0.0", - "promise": "^7.0.1" - } - }, - "junk": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", - "integrity": "sha512-3KF80UaaSSxo8jVnRYtMKNGFOoVPBdkkVPsw+Ad0y4oxKXPduS6G6iHkrf69yJVff/VAaYXkV42rtZ7daJxU3w==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" - }, - "linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", - "requires": { - "uc.micro": "^1.0.1" - } - }, - "liquidjs": { - "version": "9.42.1", - "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.42.1.tgz", - "integrity": "sha512-7Dbxs2M7W0EwemTWkBNCLR7YZJ6Bm5FYJ+djMgAj4znqquSoex314JncMSxFsU5CkOC/4LZxecMq3LNgXrVYoQ==" - }, - "list-to-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz", - "integrity": "sha1-yn3/ZAYGQzysdcvoRGrNhksVv28=" - }, - "localtunnel": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", - "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", - "requires": { - "axios": "0.21.4", - "debug": "4.3.2", - "openurl": "1.1.1", - "yargs": "17.1.1" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.deburr": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", - "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==" - }, - "lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "luxon": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.2.tgz", - "integrity": "sha512-Yg7/RDp4nedqmLgyH0LwgGRvMEKVzKbUdkBYyCosbHgJ+kaOUx0qzSiSatVc3DFygnirTPYnMM2P5dg2uH1WvA==" - }, - "markdown-it": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", - "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", - "requires": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - } - } - }, - "markdownlint": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.2.tgz", - "integrity": "sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==", - "dev": true, - "requires": { - "markdown-it": "13.0.1" - } - }, - "markdownlint-cli": { - "version": "0.32.2", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.32.2.tgz", - "integrity": "sha512-xmJT1rGueUgT4yGNwk6D0oqQr90UJ7nMyakXtqjgswAkEhYYqjHew9RY8wDbOmh2R270IWjuKSeZzHDEGPAUkQ==", - "dev": true, - "requires": { - "commander": "~9.4.0", - "get-stdin": "~9.0.0", - "glob": "~8.0.3", - "ignore": "~5.2.0", - "js-yaml": "^4.1.0", - "jsonc-parser": "~3.1.0", - "markdownlint": "~0.26.2", - "markdownlint-rule-helpers": "~0.17.2", - "minimatch": "~5.1.0", - "run-con": "~1.2.11" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true - }, - "get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "markdownlint-rule-helpers": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz", - "integrity": "sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA==", - "dev": true - }, - "maximatch": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", - "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", - "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - }, - "dependencies": { - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" - } - } - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - }, - "minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - }, - "mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "moo": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", - "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - } - }, - "mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-abi": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz", - "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==", - "requires": { - "semver": "^7.3.5" - } - }, - "node-addon-api": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", - "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "requires": { - "abbrev": "1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "nunjucks": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.3.tgz", - "integrity": "sha512-psb6xjLj47+fE76JdZwskvwG4MYsQKXUtMsPh6U0YMvmyjRtKRFcxnlXGWglNybtNTNVmGdp94K62/+NjF5FDQ==", - "requires": { - "a-sync-waterfall": "^1.0.0", - "asap": "^2.0.3", - "commander": "^5.1.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==" - }, - "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - }, - "p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "requires": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - } - }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "requires": { - "p-finally": "^1.0.0" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-srcset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", - "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "requires": { - "semver-compare": "^1.0.0" - } - }, - "portscanner": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", - "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", - "requires": { - "async": "^2.6.0", - "is-number-like": "^1.0.3" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "requires": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - } - }, - "posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "requires": { - "htmlparser2": "^7.1.1" - } - }, - "posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "requires": { - "is-json": "^2.0.1" - } - }, - "posthtml-urls": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/posthtml-urls/-/posthtml-urls-1.0.0.tgz", - "integrity": "sha512-CMJ0L009sGQVUuYM/g6WJdscsq6ooAwhUuF6CDlYPMLxKp2rmCYVebEU+wZGxnQstGJhZPMvXsRhtqekILd5/w==", - "requires": { - "http-equiv-refresh": "^1.0.0", - "list-to-array": "^1.1.0", - "parse-srcset": "^1.0.2", - "promise-each": "^2.2.0" - } - }, - "prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "requires": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "pretty": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", - "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", - "requires": { - "condense-newlines": "^0.2.1", - "extend-shallow": "^2.0.1", - "js-beautify": "^1.6.12" - } - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, - "promise-each": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz", - "integrity": "sha1-M1MXTv8mlEgQN+BOAfd6oPttG2A=", - "requires": { - "any-promise": "^0.1.0" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "pug": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", - "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", - "requires": { - "pug-code-gen": "^3.0.2", - "pug-filters": "^4.0.0", - "pug-lexer": "^5.0.1", - "pug-linker": "^4.0.0", - "pug-load": "^3.0.0", - "pug-parser": "^6.0.0", - "pug-runtime": "^3.0.1", - "pug-strip-comments": "^2.0.0" - } - }, - "pug-attrs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", - "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", - "requires": { - "constantinople": "^4.0.1", - "js-stringify": "^1.0.2", - "pug-runtime": "^3.0.0" - } - }, - "pug-code-gen": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", - "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", - "requires": { - "constantinople": "^4.0.1", - "doctypes": "^1.1.0", - "js-stringify": "^1.0.2", - "pug-attrs": "^3.0.0", - "pug-error": "^2.0.0", - "pug-runtime": "^3.0.0", - "void-elements": "^3.1.0", - "with": "^7.0.0" - } - }, - "pug-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", - "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==" - }, - "pug-filters": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", - "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", - "requires": { - "constantinople": "^4.0.1", - "jstransformer": "1.0.0", - "pug-error": "^2.0.0", - "pug-walk": "^2.0.0", - "resolve": "^1.15.1" - } - }, - "pug-lexer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", - "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", - "requires": { - "character-parser": "^2.2.0", - "is-expression": "^4.0.0", - "pug-error": "^2.0.0" - } - }, - "pug-linker": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", - "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", - "requires": { - "pug-error": "^2.0.0", - "pug-walk": "^2.0.0" - } - }, - "pug-load": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", - "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", - "requires": { - "object-assign": "^4.1.1", - "pug-walk": "^2.0.0" - } - }, - "pug-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", - "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", - "requires": { - "pug-error": "^2.0.0", - "token-stream": "1.0.0" - } - }, - "pug-runtime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", - "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==" - }, - "pug-strip-comments": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", - "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", - "requires": { - "pug-error": "^2.0.0" - } - }, - "pug-walk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", - "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "purgecss": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-5.0.0.tgz", - "integrity": "sha512-RAnuxrGuVyLLTr8uMbKaxDRGWMgK5CCYDfRyUNNcaz5P3kGgD2b7ymQGYEyo2ST7Tl/ScwFgf5l3slKMxHSbrw==", - "requires": { - "commander": "^9.0.0", - "glob": "^8.0.3", - "postcss": "^8.4.4", - "postcss-selector-parser": "^6.0.7" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha512-AY4g8t3LMboim0t6XWFdz6J5OuJ1ZNYu54SXihS/OMpgyCqYmcAJnWqkNSOjSjWmq3xxy+GF9uWQI2lI/7tKIA==" - }, - "queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "requires": { - "inherits": "~2.0.3" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "recursive-copy": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.14.tgz", - "integrity": "sha512-K8WNY8f8naTpfbA+RaXmkaQuD1IeW9EgNEfyGxSqqTQukpVtoOKros9jUqbpEsSw59YOmpd8nCBgtqJZy5nvog==", - "requires": { - "errno": "^0.1.2", - "graceful-fs": "^4.1.4", - "junk": "^1.0.1", - "maximatch": "^0.1.0", - "mkdirp": "^0.5.1", - "pify": "^2.3.0", - "promise": "^7.0.1", - "rimraf": "^2.7.1", - "slash": "^1.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==", - "requires": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "run-con": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz", - "integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~3.0.0", - "minimist": "^1.2.6", - "strip-json-comments": "~3.1.1" - }, - "dependencies": { - "ini": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", - "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - } - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==" - }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "requires": { - "symbol-observable": "1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass": { - "version": "1.81.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.81.0.tgz", - "integrity": "sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA==", - "requires": { - "@parcel/watcher": "^2.4.1", - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "dependencies": { - "chokidar": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", - "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", - "requires": { - "readdirp": "^4.0.1" - } - }, - "immutable": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.2.tgz", - "integrity": "sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw==" - }, - "readdirp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", - "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==" - } - } - }, - "section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "requires": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "sharp": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", - "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", - "requires": { - "color": "^4.2.3", - "detect-libc": "^2.0.1", - "node-addon-api": "^5.0.0", - "prebuild-install": "^7.1.1", - "semver": "^7.3.7", - "simple-get": "^4.0.1", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "requires": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "requires": { - "is-arrayish": "^0.3.1" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==" - }, - "slugify": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz", - "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==" - }, - "socket.io": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", - "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.0" - } - }, - "socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" - }, - "socket.io-client": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz", - "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.2.3", - "socket.io-parser": "~4.2.0" - } - }, - "socket.io-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", - "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==" - }, - "stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", - "requires": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==" - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "tfunk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-4.0.0.tgz", - "integrity": "sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==", - "requires": { - "chalk": "^1.1.3", - "dlv": "^1.1.3" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" - } - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "token-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", - "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=" - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" - }, - "ua-parser-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz", - "integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==" - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "uglify-js": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.2.tgz", - "integrity": "sha512-GXCYNwqoo0MbLARghYjxVBxDCnU0tLqN7IPLdHHbibCb1NI5zBkU2EPcy/GaVxc0BtTjqyGXJCINe6JMR2Dpow==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "with": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", - "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", - "requires": { - "@babel/parser": "^7.9.6", - "@babel/types": "^7.9.6", - "assert-never": "^1.2.1", - "babel-walk": "3.0.0-canary-5" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "requires": {} - }, - "xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "dependencies": { - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 1a74f3a1..00000000 --- a/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "AustinJavaScript.com", - "version": "3.2.1", - "description": "Austin JavaScript site", - "scripts": { - "build:css": "sass _sass/_main.scss:_site/assets/css/main.css --style=compressed --no-source-map", - "build": "npm run clean && eleventy && npm run build:css && npm run purgecss", - "clean": "rm -rf ./_site", - "debug": "DEBUG=Eleventy* eleventy", - "lint:js": "eslint --fix .eleventy.js ./_includes/*.js", - "lint:md": "markdownlint --fix ./_posts/*.md ./_meetups/*.md", - "lint": "npm run lint:js && npm run lint:md", - "purgecss": "npx purgecss --config ./purgecss.config.js", - "start": "ELEVENTY_ENV=dev eleventy --serve --watch", - "test": "npm run lint" - }, - "keywords": [ - "Austin", - "JavaScript", - "AustinJS" - ], - "author": "@AustinJS", - "license": "MIT", - "dependencies": { - "@11ty/eleventy": "^1.0.2", - "@11ty/eleventy-img": "^2.0.1", - "@11ty/eleventy-plugin-rss": "^1.2.0", - "bulma": "^0.9.4", - "html-minifier": "^4.0.0", - "markdown-it": "^13.0.1", - "purgecss": "^5.0.0", - "sass": "^1.81.0" - }, - "devDependencies": { - "eslint": "^8.27.0", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-plugin-import": "^2.26.0", - "markdownlint": "^0.26.2", - "markdownlint-cli": "^0.32.2" - } -} diff --git a/posts.html b/posts.html deleted file mode 100644 index 881d4867..00000000 --- a/posts.html +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: base -title: Posts archive -meta: - description: An archive of past Austin JavaScript posts and meetups. ---- - - - - - -
-

{{ title }}

-

{{ meta.description }}

- - -
diff --git a/posts/2011-austin-javascript-sxsw-party-poster/index.html b/posts/2011-austin-javascript-sxsw-party-poster/index.html new file mode 100644 index 00000000..77ca82f7 --- /dev/null +++ b/posts/2011-austin-javascript-sxsw-party-poster/index.html @@ -0,0 +1,33 @@ +2011 Austin JavaScript SXSW Party Poster•Austin JavaScript
\ No newline at end of file diff --git a/posts/2011-austin-javascript-sxsw-party-wrapup/index.html b/posts/2011-austin-javascript-sxsw-party-wrapup/index.html new file mode 100644 index 00000000..fb808950 --- /dev/null +++ b/posts/2011-austin-javascript-sxsw-party-wrapup/index.html @@ -0,0 +1,11 @@ +2011 Austin JavaScript SXSW Party Wrapup•Austin JavaScript

2011 Austin JavaScript SXSW Party Wrapup

Now that SXSW has wound down, Austin JavaScript would like to cordially reach out and thank everyone who attended the Austin JavaScript SXSW party. It was a massive success! Over 1,000 people attended, we ran out of food in 45 minutes (500 tacos) and all of the beer was consumed within 3 hours.

Drinking and Driving

The door prizes were a big hit, from VIP tickets to Microsoft’s IE9 party to a Motorola Xoom, but the clear object of desire was the iPad 2 which was given away last. As if it were written in a script for a suspenseful movie, @joemccann had to reach into the ticket bowl 11 times to draw the winning ticket number. Bribes were offerred, deals were attempted to be made, but, alas, after the eleventh draw, this lucky guy won the iPad 2 (everyone else went to the bar to drown their sorrows).

iPad 2 Winner

From the humanitarian side of the event Austin JavaScript raised a whopping 683 pounds of food for the Capital Area Food Bank (CAFB)! The folks at the CAFB were overjoyed with our donation and wanted to extend their gratitude to all parties involved. And due to it being such a large donation, they’re featuring Austin JavaScript in their newsletter this month!

Loads of Food!

An extra big thanks to our very generous sponsors, Microsoft and the IE9 Team, subPrint Interactive, Mozilla, Solvate, TEKsystems, Cultivate PR and Kung Fu Saloon. We couldn’t have thrown this party without you.

Until next year!

Edit this page

\ No newline at end of file diff --git a/posts/2012-austinjs-sxsw-3-year-anniversary-party/index.html b/posts/2012-austinjs-sxsw-3-year-anniversary-party/index.html new file mode 100644 index 00000000..55b68aa5 --- /dev/null +++ b/posts/2012-austinjs-sxsw-3-year-anniversary-party/index.html @@ -0,0 +1,11 @@ +2012 AustinJS SXSW 3 Year Anniversary Party•Austin JavaScript

2012 AustinJS SXSW 3 Year Anniversary Party

It's that time of year again where Austin gets turned upside down and inside out. That's right, it's the AustinJS SXSW Party and this year, we are going all out.

We are celebrating over 3 years of community driven content, presentations and discussions at AustinJS from not only local members of the JavaScript community, but from members as far away as Canada, New York, and North Carolina. AustinJS is a group where anyone at any skill level can come and learn new things, talk shop with other members or provide a new perspective on seemingly anything from JavaScript, the front-end, the back-end, mobile or simply software engineering as a whole. This year, the event embraces the culture that is our community by providing an atmosphere where folks can close their laptops and crack open a few beers with their peers.

To honor our thriving community, we have have chartered a boat, but not just any boat, an electric, carbon-neutral, double-decker paddle-wheeled riverboat to be exact!

Since the beginning of 2012 AustinJS curator, Joe McCann, has been opening up invitations to the event online and most importantly at the actual meetups themselves. Emailing or @replying on twitter was all it took and now, 150 community leaders and enthusiasts (the maximum legal capacity for the boat!) will be attending what will surely be an unforgettable event.

Attendees can expect a fully catered experience including plenty of authentic Texas beer, hand made margaritas (with real lime juice, not that crappy sweet and sour mix), and the best Tex-Mex cuisine Austin has to offer, including for dessert, bacon chocolate chip cookies from Frank! Plus, we will have DJ Johnny Bravvo spinning quality music (no autotune tracks guaranteed) on the top deck the entire time while local photographer extraordinaire, Annie Ray, will be capturing the experience as well.

But wait, there's more.

We will also have VIP, front row seats for the viewing of the infamous "Austin bats" underneath the Congress bridge. What? You didn't know that Austin is home to the world's largest urban bat colony? Nearly 1.5 million bats fly out every night and it is quite a spectacle to see. We will be front and center!

Yes, there is still more.

Charlie Sheen isn't the only person who prefers to be winning, so we have curated a handful of awesome door prizes to be given away throughout the evening. No strings attached. Seriously. We don't even want your email address! To gauge what these prizes could be like, take last year's prizes as as benchmark:and then triple it. Just like Moms and Dads around the world we think everyone is a winner so if you don't score a door prize, don't fret, no one will go home empty handed.

Finally, it is of great privilege to call out those members of the community who are making this event a reality: our sponsors. This year we have many repeat sponsors from last year's epic event and some new faces as well. Support this year comes from the likes of:

All sponsors have played pivotal roles in making this event possible, so please, thank them on the boat when you see them!

So here's to our ever-growing community, may we all continue to build it up!

Edit this page

\ No newline at end of file diff --git a/posts/2012-austinjs-sxsw-party-wrapup/index.html b/posts/2012-austinjs-sxsw-party-wrapup/index.html new file mode 100644 index 00000000..5da7dbe5 --- /dev/null +++ b/posts/2012-austinjs-sxsw-party-wrapup/index.html @@ -0,0 +1,13 @@ +2012 AustinJS SXSW Party Wrapup•Austin JavaScript

2012 AustinJS SXSW Party Wrapup

AustinJS SXSW 2012 Party Pic

Now that SXSW is officially over, we had to share the great experience our community provided and shared in at the AustinJS SXSW Party for 2012.  The party, which was aboard the Lonestar Riverboat, was a historic event as we cruised along Lady Bird Lake basking in the incredible weather of which Mother Nature graced us.

You could feel the excitement as everyone patiently waited to board the riverboat, anchor tokens in hand.

AustinJS SXSW 2012 Party Pic

The security measures were so strict that it made the TSA look like school crossing guards.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

When it was time, the onboarding began.

AustinJS SXSW 2012 Party Pic

Our guests made their way to the dock where they were greeted by our hosts and given a raffle ticket.

AustinJS SXSW 2012 Party Pic

As music blasted from the top deck, we embarked on our 3 hour tour.

AustinJS SXSW 2012 Party Pic

It wasn’t long before everyone was diving into Maudie’s tex-mex tacos and enjoying Fireman’s 4 and authentic margaritas from the bar.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

And then the raffle began!

AustinJS SXSW 2012 Party Pic

First up: an 11” Macbook Air, courtesy of Appcelerator.

AustinJS SXSW 2012 Party Pic

Next up:  Samsung Galaxy Note, courtesy of Nodejitsu.

AustinJS SXSW 2012 Party Pic

We ate, drank, cruised and socialized to our heart’s content.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

And then gave away more cool stuff.  Samsung Galaxy Tab, courtesy of Mozilla.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

13” MacBook Air, courtesy of Adobe.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

Oh, and there were bats. 1.5 million of them.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

And of course, Pork Militia Bacon Cookies from Frank.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

They were a huge hit. EVEN WITH @andrewdupont #dupontCAPS.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

Did we mention that we gave away an autographed, framed pic of Phil Collins courtesy of Microsoft?

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

The excitement behind Phil warranted an animated gif.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

And before we knew it, we were back at the dock.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

But we had one last surprise: loaded swag bags that included jars of Mom’s Family Kitchen salsa, large bags of tortilla chips, koozies and cans of Lone Star beer, mini bottles of Tito’s vodka, Microsoft t-shirts and posters, Adobe sharpies, Nodejitsu t-shirts, Appcelerator stickers, Mozilla flashlight pens, KendoUI gum from Telerik, TEKsystems pens and highlighters, Geekli.st invite code cards and stickers, and gift certificates from Cultivate PR to Uchi, Uchiko, Limbo Jewelry, Away Spa and Trace.

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

AustinJS SXSW 2012 Party Pic

This entire event would not have been possible without our INCREDIBLE community sponsors:

Also, we couldn’t have put our plan into action without our outstanding staff:

Captain Ric and Katy from Lonestar Riverboat Photographer:  Annie Ray Music:  DJ Johnny Bravvo Visual Designer:  Joon Shin

Skippers: Bonnie Varner and Katherine McCaslin Bartender: Stacy Matthews

Event Lead:  Mandy Lauderdale Event Host:  Joe McCann

We’ve already begun to plan the party for next year.  There’s a rumor that Burt Reynolds’ moustache might make an appearance.

Burt Reynolds

Want to view all 280 pics from the party? Click below:

 

AustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party PicAustinJS SXSW 2012 Party Pic

Edit this page

\ No newline at end of file diff --git a/posts/austin-javascript-2011-sxsw-party/index.html b/posts/austin-javascript-2011-sxsw-party/index.html new file mode 100644 index 00000000..2e51ba1a --- /dev/null +++ b/posts/austin-javascript-2011-sxsw-party/index.html @@ -0,0 +1,11 @@ +Austin JavaScript 2011 SXSW Party•Austin JavaScript

Austin JavaScript 2011 SXSW Party

That time of year is here again, where we in the Austin JavaScript community close our laptops and instead have a few beers together. After such a successful event last year at Kung Fu Saloon, we decided to do the same thing this year, but with more reasons to come out and support the community.

First, this year, we will be requiring attendees to either have an official SXSW badge or two cans of food to donate to the Capital Area Food Bank. With such a huge turnout last year, why wouldn't we use this as an opportunity to raise awareness and help stamp out hunger in the greater Austin area. A party with a cause! Party details are as follows:

  • Sunday, March 13, 2011 4pm to 8pm
  • Kung Fu Saloon — 510 Rio Grande, Austin TX 78701
  • Free Texas Beer
  • Free Authentic Tex-Mex Tacos courtesy of Maudie's
  • Free Gaming at Kung Fu Saloon including Skeeball and all Vintage Arcade Games
  • Free No Strings-Attached Door Prize Giveaways Every Hour (iPad, Android Tablet, Amazon Kindle, VIP Tickets to Microsoft's ACL Party, a ticket to TXJS and possibly more)
  • Free Swag Bags to Take Home full of Goodies

Of course none of this would be possible without the unwavering support of our gracious sponsors: Microsoft (IE Team), Solvate, Mozilla (Developer Engagement)TekSystems and Cultivate PR.

Microsoft will actually be out engaging and entertaining all who attend to check out the latest version of IE9 and to assist developers preparing their sites and apps now.  You do know that IE9 is at release candidate state, right?

Stay tuned as even more details are announced.  We have a few tricks up our sleeve:

Follow us on Twitter here:  @austinjs

Edit this page

\ No newline at end of file diff --git a/posts/austin-javascript-email-list/index.html b/posts/austin-javascript-email-list/index.html new file mode 100644 index 00000000..63e02302 --- /dev/null +++ b/posts/austin-javascript-email-list/index.html @@ -0,0 +1,13 @@ +Austin JavaScript Email List•Austin JavaScript

Austin JavaScript Email List

Thanks to Logan Lindquist's work, the Austin JavaScript group now has a list you can subscribe to via email:

Just activate this link to go straight to the email address entry form.  Enter your email address, then verify it in your inbox (a verification email will be sent automatically).

Thanks Logan!

Edit this page

\ No newline at end of file diff --git a/posts/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/index.html b/posts/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/index.html new file mode 100644 index 00000000..ccf40cdc --- /dev/null +++ b/posts/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/index.html @@ -0,0 +1,11 @@ +Austin JavaScript SXSWi Happy Hour — Free Beer, Free Food, Free Prizes!•Austin JavaScript

Austin JavaScript SXSWi Happy Hour — Free Beer, Free Food, Free Prizes!

For the month of March, instead of discussing closures and anonymous functions, the Austin JavaScript meetup group will be holding a party during SXSWi at Kung Fu Saloon sponsored by Appcelerator.  We will have FREE BEER, FREE FOOD, AND FREE GAMES!  Yes, you read that right:FREE!  No strings attached!  Escape the mayhem on East 6th by foot or pedicab and end up at Kung Fu Saloon, West 6th's newest hangout, and play a round of Street Fighter II or skeeball while downing free, QUALITY (non-domestic) beer.

The event details are as follows:

  • Where: Kung Fu Saloon - 510 Rio Grande Street Austin, TX 78701
  • When: Monday, March 15, 2010 from 4pm to 9pm.
  • Why: Meet fellow techies and hackers from around the world.
  • How: Just show up to Kung Fu Saloon!

From Kung Fu Saloon's website:

Kung Fu Saloon is a West 6th Street area watering hole featuring a relaxed atmosphere in downtown Austin.  To satisfy your thirst we offer a full bar including 24 beers on tap, with a selection ranging from the everyman’s Miller Light to the Belgian man’s Chimay.  Oh yeah, we almost forgot to mention the specialty Sake bomb menu! Entertainment includes 14 vintage arcade games like Ms. Pacman, NBA Jam, Street Fighter II, Galaga,  Golden Tee, Space Invaders & more.  The fun continues with Shuffleboard, three original Skee Ball machines, and board games available for checkout at your table including Jenga, Boggle, Dominoes, & Giant Checkers. Reclaimed Chicago brick & 100 year old Texas barn wood keep it comfortable.   Random accents like Space Invaders with glowing candle lit eyes invading down the masonry and pixelated images of Chuck Norris and Bruce Lee keep it amusing.  Come check us out!

The Austin JavaScript SXSWi Happy Hour is graciously sponsored by none other than the huge supporter and innovator in the JavaScript world,  Appcelerator.  Appcelerator will be on site showcasing their premier development kit, Titanium, which allows you to write native desktop and mobile (iPhone and Android with Blackberry right around the corner) applications using HTML, CSS and JavaScript (and even Python, Ruby, and PHP).  The Appcelerator team will also be giving away loads of free swag including free t-shirts for the first 500 people!

And of course we'll have some food to wash all that beer down.  Austin's premier hot dog vendor, Man Bites Dog, will be providing us with a "build-your-own-dog" gourmet hot dog buffet!

Additional sponsors and support provided by subPrint Interactive and Virtue Group.

Any questions or concerns, feel free to contact Joe McCann via Twitter:  @joemccann.

Edit this page

\ No newline at end of file diff --git a/posts/austin-js-sxsw-party-and-devunplugged/index.html b/posts/austin-js-sxsw-party-and-devunplugged/index.html new file mode 100644 index 00000000..c41173aa --- /dev/null +++ b/posts/austin-js-sxsw-party-and-devunplugged/index.html @@ -0,0 +1,11 @@ +Austin JS SXSW Party and {Dev:unplugged}•Austin JavaScript

Austin JS SXSW Party and {Dev:unplugged}

As an added bonus this year to all of the other fun and festivities, Austin JavaScript will be proudly promoting the IE team's {Dev:unplugged} event at our SXSW party. Don't know what you {Dev:unplugged}? Don't worry, the IE team will be out promoting the event at the party!

Here's a bit more information about {Dev:unplugged}:

Today, we are announcing the launch of Dev Unplugged, a contest that challenges web developers to push the limits of a modern browser without the use of plug-ins. We believe that HTML5 and related technologies, in conjunction with faster and faster browsers, finally give developers the tools they need to create experiences that are as vivid, interactive and compelling as anything you have seen in native applications. We hope that Dev Unplugged becomes a forum where developers around the world showcase their talents and what’s possible and inspires all of us to see where the web is going.

The Challenge

As we look around and see the amazing things that people are creating using these new technologies, we decided that two categories really stood out to us: Gaming and Music. Developers can choose to submit an app in either category.

For the gaming category, we hope developers will push the limits of a modern browser and create games that are fun and addictive.  In order to help developers get started and give them some inspiration, we worked with Mike Mignola, the creator of Hellboy, to license his characters exclusively for the developers to use to create their HTML5 game.

In the music category, we want developers to help us discover new ways to experience music online. In order to give them some material to get started, we’ve teamed-up with two hot bands provide them with tracks to get started: “Boy” by Ra Ra Riot and “Sail” by AWOLNATION.

The Judges

To help us judge the submissions we have assembled an amazing panel of judges that feature experts in HTML5, design and user experience on the web, including the likes of: Dion Almaer, Ben Galbraith, Remy Sharp, Grant Skinner, Rob Ford and Robert Nyman.  The panel will be asked to judge the top-40 finalists according to creativity, quality of implementation and fit with the contest theme.

The Prizes

In order to really capture the attention of cutting-edge web developers, we have put together a set of 9featured prizes and 9honorable mentions.  The prizes include:

  • $40,000 in total prizes including $9,000 for the Grand Prize.
  • Front page exposure on theFWA.com and beautyoftheweb.com
  • Cool hardware: laptops and slates from Alienware, HP and ASUS
  • An all-expense paid trip to the Future of Web Apps Las Vegas with “golden ticket” VIP access

Developers, Start Your Engines!

Below are the dates for the contest.  We will have a private submission process for 5 weeks, at which point we will open up the submissions to the public so that they can check-out the submissions and vote on their favorites.  Once submissions close, we will announce the 40 finalists who the judging panel will review in order to find out who our winners are.

  • 3/1 – Contest Opens (submit early, don’t miss a chance to get voted-up!)
  • 4/5 – Submission gallery opens to the public and voting begins!
  • 5/9 – Submission deadline
  • 5/12 – Top-40 Finalists are announced
  • 5/23 – Winners are announced!

 

Edit this page

\ No newline at end of file diff --git a/posts/austin-web-bash-2011/index.html b/posts/austin-web-bash-2011/index.html new file mode 100644 index 00000000..751a0ea3 --- /dev/null +++ b/posts/austin-web-bash-2011/index.html @@ -0,0 +1,11 @@ +Austin Web Bash 2011•Austin JavaScript

Austin Web Bash 2011

It's that time of year again where the various Austin meetup groups all get together and celebrate the Holidays with song and dance, err maybe it's just some beers and food, yeah, beer and food!

That's right on Tuesday, December 13th from 7pm to 9pm the greater Austin web community will have its annual holiday gala while also supporting a good cause:  The Capitol Area Food Bank.

There will be mingling and possibly mistletoe depending on the weather (naturally) and of course free food and beer provided by our gracious sponsors:

Austin JavaScript is proud to be a part of not only such a great event but a member of an incredibly strong web, dev and design community that is in Austin.  Just look at who else is involved.

  • Austin.rb
  • Austin All-Girl Hack Night
  • Austin JavaScript
  • Austin Lean Startup Circle
  • Austin on Rails
  • Austin PHP Meetup
  • Austin Web Design Meetup
  • Austin Web Python Users Group
  • Hacks/Hackers ATX
  • IxDA-Austin
  • Refresh Austin
  • WordPress Austin
  • Young Woman’s Roundtable

TL;DR

  • www.refreshaustin.org/bash/
  • RSVP on Facebook: http://j.mp/bash2011 (not required, but it helps us plan)
  • 7 – 9pm, Tuesday, December 13th, 2011
  • Buffalo Billiards (6th and Brazos)
  • Admission: At least one canned good for the Capital Area Food Bank (last year we collected 200 pounds of canned goods and $200 cash!).

See you there!

Edit this page

\ No newline at end of file diff --git a/posts/austin-web-bash-2014/index.html b/posts/austin-web-bash-2014/index.html new file mode 100644 index 00000000..f45a67c4 --- /dev/null +++ b/posts/austin-web-bash-2014/index.html @@ -0,0 +1,11 @@ +Austin Web Bash 2014•Austin JavaScript

Austin Web Bash 2014

Our good friends at Refresh are hosting the Austin Web Bash Tuesday December 9th. This is an opportunity for folks from across different meetups in Austin to hang out. Even better, proceeds from the event go towards the Keep Austin Beautiful organization!

Come join us next Tuesday!

Edit this page

\ No newline at end of file diff --git a/posts/austin-web-community-holiday-bash/index.html b/posts/austin-web-community-holiday-bash/index.html new file mode 100644 index 00000000..fc6cdb3b --- /dev/null +++ b/posts/austin-web-community-holiday-bash/index.html @@ -0,0 +1,11 @@ +Austin Web Community Holiday Bash!•Austin JavaScript

Austin Web Community Holiday Bash!

On Tuesday, come join the conglomerate of the web community meetups here in Austin to have a few cocktails and support a great organization  The Capitol Area Food Bank.  Austin JavaScript along with some of the other great meetup groups including WordPress AustinAustin on RailsIxDA-AustinAustin UPAAustin Lean Startup Circle, the Web Design MeetupBootstrap Austin Interactive,  Austin Drupal Newbie MeetupAustin PHP Meetup and of course, Refresh Austin will all be hanging out for a good time and good cause.

A giant thanks goes out to the good folks at Rackspace for sponsoring drinks and BuildASign for sponsoring the bartenders who will make them!

When: 7 — 9pm, Tuesday, December 14th, 2010

Where: Buffalo Billiards (6th and Brazos)

Admission: One canned food item for the Capital Area Food Bank.

Spread the word on Facebook!

Edit this page

\ No newline at end of file diff --git a/posts/compasslearning-is-hiring/index.html b/posts/compasslearning-is-hiring/index.html new file mode 100644 index 00000000..f36f37b0 --- /dev/null +++ b/posts/compasslearning-is-hiring/index.html @@ -0,0 +1,13 @@ +CompassLearning is Hiring•Austin JavaScript

CompassLearning is Hiring

On the verge of this month's meeting we'd like to let you know about an opportunity from last month's sponsor: CompassLearning.

We're looking for a highly skilled front-end developer who lives and breathes standards. You will have strong experience with standards compliant, semantic HTML and CSS, solid knowledge of JavasScript, DOM-scripting and familiarity with JavaScript frameworks like Sencha, MooTools, JQuery etc. You'll also be proficient with server-side programming using a server-side scripting language like PHP, Python or Ruby and know how to run queries with MySQL, or SQL Server.

You'll be tackling big and little projects that are fun, challenging and span the spectrum of front-end development.  Sometimes the deadlines are tight, but that's why we're looking for people with great personalities who are team players. When a project is done we'll celebrate, enjoy the view and look forward to the next project wiser and stronger than before.

We're a casual dress, fun, thriving software company with a great work environment and plenty of growth in our future, so if we've sparked your interest drop us an email with your resume and a nice portfolio of sites developed and we'll talk. :)

Responsibilities include but are not limited to:

  • Semantic HTML/CSS coding/updating for assigned projects
  • JavaScript/DOM scripting to build interactive but accessible interfaces
  • Working with FreeMarker templates and JSON or XML files to expose data to the front-end
  • Building specific functionality and modules using a front end framework.
  • Interaction with UX team and business users.
  • Build efficient and reusable front-end abstractions and systems
  • Identify and address performance bottlenecks
  • Participate in design and code reviews
  • Interact with other team members to incorporate their innovations and vice versa.
  • Identify and communicate best practices for front-end engineering

Required Skills:

  • Ability to write standards based, semantic HTML and CSS and modern layouts using tableless design
  • Ability to do DOM scripting with JavaScript and various JS libraries like MooTools, JQuery
  • Ability to write well-abstracted, reusable code for UI components
  • A strong understanding of modern web practices to create an efficient user-experience
  • A good understanding of cross-browser issues and their workarounds
  • Experience working with server-side scripting languages like PHP, Python and Ruby
  • Knowledge of but not reliant on Object Oriented JavaScript Frameworks (Prototype JS, MooTools, Dojo, etc.)
  • Strong portfolio required
  • Excellent written and oral communication skills
  • Must be a team player and open to change
  • Fun and Friendly attitude
  • Must have legal authorization to work in the United States

Bonus:

  • Experience building complicated workflows

  • Relevant experience includes self-started personal projects

  • Knowledge of web accessibility standards

Please provide a portfolio of sites developed, either online or with attached files.

CompassLearning is a recognized leader in the K-12 educational software industry. In our Learning Studio in Austin, TX, our team of educational experts, graphic artists, writers, and developers create award-winning K-12 curriculum and assessment solutions that motivate today’s students to engage, think & learn.

K–12 schools use our Odyssey system to personalize instruction, improve test scores, and increase graduation rates. Odyssey influences student success because it is based on current and confirmed research on the way today’s 21st century students acquire knowledge. And teachers and administrators benefit from our custom implementations, excellent customer support, and strong professional development. We have a singular passion for student achievement.

CompassLearning is an Equal Opportunity Employer.

Edit this page

\ No newline at end of file diff --git a/posts/december-open-bar-happy-hour-sponsored-by-teksystems/index.html b/posts/december-open-bar-happy-hour-sponsored-by-teksystems/index.html new file mode 100644 index 00000000..b740aedc --- /dev/null +++ b/posts/december-open-bar-happy-hour-sponsored-by-teksystems/index.html @@ -0,0 +1,11 @@ +December Open Bar Happy Hour Sponsored by TEKsystems•Austin JavaScript

December Open Bar Happy Hour Sponsored by TEKsystems

Since so many of us were devastated to find out that there was no meetup scheduled for December, TEKsystems decided to step up and allows us to drown our sorrows in a few pints of beer!

TEKsystems would like to invite The Austin JavaScript User Group to our Christmas Cheer and Beer Happy Hour at The Ginger Man on December 21st.  We will have an open tab from 6 PM to 8 PM.  Please feel free to invite friends, colleagues, family (sorry no children).  Happy Holidays!!

So do your part and represent our strong and ever growing community (42 people at last month's meetup!) at The Ginger Man on December 21st.

Happy Holidays!

Edit this page

\ No newline at end of file diff --git a/posts/index.html b/posts/index.html new file mode 100644 index 00000000..2d12d363 --- /dev/null +++ b/posts/index.html @@ -0,0 +1 @@ +Posts archive•Austin JavaScript

Posts archive

An archive of past Austin JavaScript posts and meetups.

Edit this page

\ No newline at end of file diff --git a/posts/meetups.html b/posts/meetups.html deleted file mode 100644 index 7a850628..00000000 --- a/posts/meetups.html +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: base -title: Meetup archive -meta: - description: An archive of past Austin JavaScript meetups. ---- - - - - - -
-

{{ title }}

-

{{ meta.description }}

- - -
diff --git a/posts/meetups/2010/01/19/index.html b/posts/meetups/2010/01/19/index.html new file mode 100644 index 00000000..4058ada9 --- /dev/null +++ b/posts/meetups/2010/01/19/index.html @@ -0,0 +1,9 @@ +Superclassy Inheritance with JavaScript + Web Performance and JavaScript UI Architecture•Austin JavaScript

Superclassy Inheritance with JavaScript + Web Performance and JavaScript UI Architecture

2010 is off to a ridiculous start for the JavaScript community and this month, we have TWO incredible topics and two renowned and respected speakers: Alex Sexton and Kyle Simpson.

Superclassy Inheritance with JavaScript

Superclassy Inheritance with JavaScript is a quick look at the benefits and consequences of several inheritance patterns in JavaScript. Code reuse plays a major role in the DRY development pattern and leveraging the inheritance patterns built into JavaScript or manipulating them can change the way you build and organize large applications. Unfortunately, JavaScript's reputation and odd naming scheme have stopped people from using all the features that it has to offer. First, we'll discuss the array of options that exist and then go through a real-world example while using our newly honed inheritance-foo to make it play nice.

Web Performance and JavaScript UI Architecture

Kyle will cover a couple of recent endeavors of mine into improving page- load performance on web sites. One is a set of experiments in various ways to deliver JavaScript code to the browser but to defer its execution until later. Such techniques are particularly well suited to mobile applications, but have some benefit to traditional browser apps as well. The other endeavor is a new site/service just launched at http://2static.it -- a service to provide free sub-domain aliases to create a cookie-free URL to load your static page assets (JS, CSS, images, SWFs, etc).

As time permits, Kyle will also give an intro/preview to both my upcoming talk at Developer-Day Austin and my upcoming talk at SXSW Interactive, on JavaScript UI Architecture. We'll cover a new theory/approach to UI architecture I'm calling CVC (Client-View-Controller), which is a deconstructed variation on the more common MVC pattern. It involves a simple template engine (written in JavaScript) which can run either on the server or in the browser, as well as several JavaScript based "controller" modules.

Meetup details
DATE
TIME -
LOCATION Virtue Group (1206 W 43rd Street, Austin, TX 78756)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Draught House (4112 Medical Pkwy, Austin, TX 78756).

Speaker

Alex Sexton

Alex Sexton

Kyle Simpson

Kyle Simpson

Sponsor

Austin JavaScript is sponsored this month by WhoLinksToMe. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/02/16/index.html b/posts/meetups/2010/02/16/index.html new file mode 100644 index 00000000..968c6b50 --- /dev/null +++ b/posts/meetups/2010/02/16/index.html @@ -0,0 +1,13 @@ +JavaScript Quiz + HandlebarJS•Austin JavaScript

JavaScript Quiz + HandlebarJS

JavaScript Quiz

Speaker: YOU. Yes, that's right, you will be participating, okay, only if you want to, but it is highly encouraged.

Recently, Juriy Zaytsev, otherwise known as "kangax" and core developer for Prototype, released a quiz with some rather challenging questions related to some of the unique underpinnings and nuances of the JavaScript language.

We will take the quiz, collectively, and even go through the answers, collectively!  Group participation is key here as the more people contribute, the more people learn.

JavaScript instance operators, HandlebarJS Templating

Kyle Simpson will continue the discussions from the JavaScript quizzes and zero in on a few powerful but often-confused JavaScript operators: new, delete, and instanceof. To illustrate the use of these operators, we'll look at a pattern for custom error handling.

Armed with a new found confidence in some of JavaScript's nitty gritty details, we'll take a look at a new templating engine (HandlebarJS) which can run either browser-side or server-side. Coverage will include both the templating syntax as well as a code review of the engine's internals.

Afterwards, the discussion carries on one block away at The Draught House, where it just happens to be pint night so you can get your beer fix here.

Meetup details
DATE
TIME -
LOCATION Virtue Group (1206 W 43rd Street, Austin, TX 78756)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Draught House (4112 Medical Pkwy, Austin, TX 78756).

Speaker

Kyle Simpson

Kyle Simpson

Sponsor

Austin JavaScript is sponsored this month by WhoLinksToMe. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/04/20/index.html b/posts/meetups/2010/04/20/index.html new file mode 100644 index 00000000..2e58fe94 --- /dev/null +++ b/posts/meetups/2010/04/20/index.html @@ -0,0 +1,9 @@ +Building Desktop Applications Using Adobe AIR and JavaScript•Austin JavaScript

Building Desktop Applications Using Adobe AIR and JavaScript

After a massively successful SXSWi party last month, we are back on schedule for our monthly meetup.  This month, we have a presentation on how to use Adobe AIR to build desktop applications by Aaron Forsander.

Building Desktop Applications Using Adobe AIR and JavaScript

As a JavaScript developer you don't have to limit yourself to the web.  Adobe AIR allows web developers to create desktop applications with technologies they are familiar with including Flash, Flex and JavaScript. This talk demonstrates the basics on how to create desktop applications entirely in JavaScript.  I addition, I will also talk about helpful libraries and frameworks that allow you to develop rapidly, organize your code and unit test. You can do more with Adobe AIR than just build Twitter clients, I promise!

Meetup details
DATE
TIME -
LOCATION Virtue Group (1206 W 43rd Street, Austin, TX 78756)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Draught House (4112 Medical Pkwy, Austin, TX 78756).

Speaker

Aaron Forsander

Aaron Forsander

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/06/15/index.html b/posts/meetups/2010/06/15/index.html new file mode 100644 index 00000000..7ee6b338 --- /dev/null +++ b/posts/meetups/2010/06/15/index.html @@ -0,0 +1,9 @@ +XUI + Cross Domain Hacking•Austin JavaScript

XUI + Cross Domain Hacking

Right on heels of TXJS, this month's edition of the Austin JavaScript Meetup includes two speakers from TXJS, Joe McCann and Alex Sexton.

XUI

Joe will be discussing the slick mobile micro-framework, XUI, which you can use to build out mobile websites or even mobile webapps where the targeted device is running a reasonable build of Webkit (namely iPhone, Android, and WebOS).  Popular libraries like jQuery are a bit large in size and contain loads of cross-browser code that is irrelevant in most mobile devices.  XUI is only 3kb and can provide you with a large enough toolkit to get almost any job done.  Joe will introduce the library and how you can start using it right now.

Cross Domain Hacking

If you had to rank the best and worst moments of your JavaScript life, you'd probably rank reading "The Good Parts" up towards the top, and deep down at the bottom of the list would be the day that you found out that you couldn't make cross-domain requests in the browser. This talk covers the hacks, tips, and tricks to leave the Same Origin Policy in the dust. So grab a cookie, pad your json, and learn how to communicate properly.

Meetup details
DATE
TIME -
LOCATION Virtue Group (1206 W 43rd Street, Austin, TX 78756)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Draught House (4112 Medical Pkwy, Austin, TX 78756).

Speaker

Joe McCann

Joe McCann

Senior Technologist at frog design

Alex Sexton

Alex Sexton

Labs Engineer at Bazaarvoice

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/07/20/index.html b/posts/meetups/2010/07/20/index.html new file mode 100644 index 00000000..5cdbd9df --- /dev/null +++ b/posts/meetups/2010/07/20/index.html @@ -0,0 +1,9 @@ +Introducing Node.js + Scripty•Austin JavaScript

Introducing Node.js + Scripty

The July meetup details consist of some client side and server side JavaScript discussions. Joe McCann will be providing some info on the ultra hot web server and web app framework Node.js while Andrew Dupont educates us on the latest and greatest features of scripty2.

Introducing Node.js

Joe will be introducing Node.js, an evented I/O framework for the V8 JavaScript engine.  Node.js is intended to be used to write scalable network programs such as web servers.  However, Node can also be used as a web app framework in addition to its use as a web server.  Joe will be showing some very high level uses of Node (Hello World), but also some more practical uses including the use of the Express framework and even an example of using WebSockets with Node.

Scripty — Successor to script.aculo.us

The long alpha period of scripty2, the successor to script.aculo.us, is nearing a close. Andrew will give a tour of the new scripty2 effects engine — complete with support for CSS transitions and hardware-accelerated animation — and show you the new UI components which boast full compatibility with jQuery UI themes.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Joe McCann

Joe McCann

Senior Technologist at frog design

Andrew Dupont

Andrew Dupont

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/08/17/index.html b/posts/meetups/2010/08/17/index.html new file mode 100644 index 00000000..3d0f5794 --- /dev/null +++ b/posts/meetups/2010/08/17/index.html @@ -0,0 +1,9 @@ +Web Application Design and Coding Strategies•Austin JavaScript

Web Application Design and Coding Strategies

After a huge turnout last month (nearly 40 attendees), we are expecting even bigger and better things this coming month in our August meetup.  We are changing the format a bit with one presentation, by Mike McNally on web application design and coding strategies, followed by an open forum of topics.

Mike will talk about web application design and coding strategies, and how the domains of "active" page design, unobtrusive Javascript coding, and user experience architecture all collide to give us a great big headache. He'll talk about a small jQuery plugin as an example of harnessing the power of your favorite framework for more than just rounded corners.

After some great discussions during our last meetup (and even afterwards at The Gingerman), we decided to have an open forum discussing various topics at this month's meetup.  Topics will be chosen at random, but please come to the meetup with some ideas or better yet, leave them in the comments or @ reply to @austinjs on twitter.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Mike McNally

Mike McNally

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/09/21/index.html b/posts/meetups/2010/09/21/index.html new file mode 100644 index 00000000..53c20250 --- /dev/null +++ b/posts/meetups/2010/09/21/index.html @@ -0,0 +1,9 @@ +JavaScript Objects, Constructors, and Prototypes•Austin JavaScript

JavaScript Objects, Constructors, and Prototypes

After another huge turnout in August, we are expecting yet another great meetup for September.  We have an Austin JavaScript veteran, Kyle Simpson, giving a special presentation and we will follow it up with the open forum of topics.  So come prepared with ideas for discussion!

Kyle's discussion will be diving deep into the internals of how objects, constructors, and prototypes work. He will also cover many of the important upcoming ES5 changes which are starting to be implemented by the bleeding edge browsers.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Kyle Simpson

Kyle Simpson

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/10/19/index.html b/posts/meetups/2010/10/19/index.html new file mode 100644 index 00000000..361ee81f --- /dev/null +++ b/posts/meetups/2010/10/19/index.html @@ -0,0 +1,9 @@ +Phonegap + Rapid Prototyping with JavaScript•Austin JavaScript

Phonegap + Rapid Prototyping with JavaScript

Coming off last month's meetup, we now have the first in our guest speakers series at Austin JavaScript plus another local giving his presentation from JSConf EU in Berlin.

Phonegap

Brian Leroux, Lead at Nitobi, co-author of Phonegap, and creator of projects like XUI and Lawnchair and wtfjs.com will be flying in from Vancouver, British Columbia, Canada to talk to us about Phonegap, an open source development framework for building cross-platform mobile apps. Phonegap allows you to build apps in HTML and JavaScript and still take advantage of core features in iPhone/iTouch, iPad, Google Android, Palm, Symbian and Blackberry SDKs. Brian will be giving a talk on Phonegap, when you should and should not use it and also showcase the brand new app packaging in the cloud service at build.phonegap.com.

Rapid Prototyping with JavaScript

Joe McCann, Senior Technologist at frog design and Principal at subPrint Interactive will be giving his presentation on Rapid Prototyping with JavaScript for Multiple Platforms that he gave in Berlin at JSConf.Eu.  Read the comprehensive description of his talk here and go check out the source code for the apps for the demos on github.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Brian Leroux

Brian Leroux

Lead at Nitobi

Joe McCann

Joe McCann

Senior Technologist at frog design and Principal at subPrint Interactive

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2010/11/16/index.html b/posts/meetups/2010/11/16/index.html new file mode 100644 index 00000000..058c4d05 --- /dev/null +++ b/posts/meetups/2010/11/16/index.html @@ -0,0 +1,9 @@ +has.js, Dojo Foundation, and the CommonJSBrowser Initiative•Austin JavaScript

has.js, Dojo Foundation, and the CommonJSBrowser Initiative

After last month's large turnout for the first in our guest speaker's series, you may want to consider getting to this month's meetup early.  Not only are we bringing back the roundtable discussion of various JavaScript topics, but we have the Reverend Pete Higgins flying in from Tennessee!

Every time you sniff a browser a baby kitten dies.  Never fear as Pete will be discussing the usage of has.js so many more kittens can live happy lives.  Also, Pete will be chatting up the Dojo Foundation and a brand new CommonJSBrowser Initiative (details at the meetup!).  Follow Pete on twitter at @phiggins and be sure to have a look at his campaign at http://higginsforpresident.net.

For the second half of the meetup we will carry on with our new tradition of the open forum where you, yes you and everyone else will have an opportunity to ask a question, bring up a topic or heckle @joemccann.  Our latest polls indicate many people enjoy the roundtable discussion so be sure to have some fresh ideas!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Pete Higgins

Pete Higgins

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/01/18/index.html b/posts/meetups/2011/01/18/index.html new file mode 100644 index 00000000..07416799 --- /dev/null +++ b/posts/meetups/2011/01/18/index.html @@ -0,0 +1,9 @@ +JavaScript Gaming•Austin JavaScript

JavaScript Gaming

After a nice break and great happy hour sponsored by Tek Systems over December, Austin JavaScript is back in action with a great talk by the local node.js and JavaScript gaming phenom, Bradley Meck.

JavaScript gaming is becoming an even hotter topic as many game developers are moving away from Flash and more towards and "HTML5" framework for implementing games.  Bradley will be discussing the state of game creation in JavaScript, some problems and solutions for developers wanting to create games and finally how to interact with Flash in order to obtain some valuable fallbacks. His presentation will also touch on some of the roadblocks and issues with multi-player games.

Of course we will followup his presentation with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Bradley Meck

Bradley Meck

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/02/15/index.html b/posts/meetups/2011/02/15/index.html new file mode 100644 index 00000000..7c7b3651 --- /dev/null +++ b/posts/meetups/2011/02/15/index.html @@ -0,0 +1,9 @@ +Lettering.js — A jQuery Plugin for Radical Web Typography•Austin JavaScript

Lettering.js — A jQuery Plugin for Radical Web Typography

This month's meetup we take a step away from the traditionally hardcore, engineering-focused styles talks and presentations and decide to focus back on the user interface and beautifying the web, specifically typography. Neighborhood superstar, Rails aficionado and iOS contemporary Dave Rupert will be discussing and showcasing, Lettering.js.

Web type is exploding all over the web but CSS currently doesn't offer complete down-to-the-letter control. While working on the Lost World's Fairs project for Microsoft and the launch of IE9 Beta, Dave Rupert and team needed that level of control. Thus was born, Lettering.js, a jQuery plugin for radical web typography.

We'll be walking through this simple jQuery plugin line-by-line, talking about the art of releasing a jQuery plugin, and peeking at some real-world use cases.

Of course we will followup his presentation with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Dave Rupert

Dave Rupert

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/04/19/index.html b/posts/meetups/2011/04/19/index.html new file mode 100644 index 00000000..49d6e17c --- /dev/null +++ b/posts/meetups/2011/04/19/index.html @@ -0,0 +1,9 @@ +The Art of Releasing a jQuery Plugin + Next Gen JavaScript•Austin JavaScript

The Art of Releasing a jQuery Plugin + Next Gen JavaScript

After a massively successful SXSW Party last month, we are back on track with our regular scheduled monthly meetup.  For April, we have a brief yet insightful presentation by a local, Howard Rauscher on developing 3rd party JavaScript widgets and we'll talk more about the IE9 Developer contest, Dev Unplugged.

Recently he started working at a new startup called Mass Relevance which provides social media curation and visualizations to media companies such MTV, New York Times, Washington Post, and CNN . One of his primary roles has been to ensure that their JavaScript widgets don't break across majors browsers on customer websites.  Howard's presentation will consist of walking through a simple jQuery plugin (line-by-line), talking about the art of releasing a jQuery plugin and peeking at some real-world use cases.  Noobs and experts will both benefit!

We will also discuss the IE9 developer contest, Dev Unplugged, which was announced at the Austin JS SXSW Party last month.  Dev Unplugged is not a just a contest where you can win thousands of dollars in prizes, but it also a way for developers to really explore what is possible with HTML5 and modern web browsers.  As if you needed a reason to be trying out the latest and greatest, Dev Unplugged will reward you for doing so!

Since Austin is the Live Music Capital of the World, the IE9 team has enticed us to do something cool with the HTML5 Music capabilities.  Here are some ideas to get you going:

http://gskinner.com/blog/archives/2011/03/music-visualizer-in-html5-js-with-source-code.html

http://9elements.com/io/projects/html5/canvas/

http://always-beautiful.bigspaceship.com

Dev Unplugged has a music category for the best “music experience”.  Developers may use their own legally licensed music or the the IE9 Team has provided two tracks for you to experiment with: “Sail” by AWOLNATION and “Boy” by RaRaRiot. Read more about it here:

http://www.beautyoftheweb.com/#/unplugged/categories/music


Special Update

Last minute special guests are always welcome at the Austin JavaScript Meetup and this month, we have an extra special guest from the Mozilla team: David Herman.

David's a member of Ecma TC39, the committee designing future versions of the JavaScript language standard. The Ecma committee is hard at work on the design of the next version of JavaScript. David will present some highlights of the cool features we can expect in the future of JavaScript.

Of course we still have everything in store for you as previously planned, but now with some lagniappe!


Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Howard Rauscher

Howard Rauscher

David Herman

David Herman

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/05/17/index.html b/posts/meetups/2011/05/17/index.html new file mode 100644 index 00000000..00c7a364 --- /dev/null +++ b/posts/meetups/2011/05/17/index.html @@ -0,0 +1,9 @@ +Modernizr 2•Austin JavaScript

Modernizr 2

On the heels of the epic conference week that was JSConfand Nodeconf, the Austin JS meetup is finally set for the the month of May.  We will be going over some of the highlights of JSConf and local JavaScript hacker and semi-pro videographer, Alex Sexton, will be giving a talk on what to expect out of Modernizr 2.0. We will also be giving away a ticket to TXJS.  Seriously.

Modernizr was one of the first libraries on the scene in the 'new-world feature testing religion.' Modernizr 2 is just around the corner and there are some nifty new features in there to help you build modern web apps. Some time would and will be well spent going into how to use Modernizr, but there will also be some more in depth looks into the internals of the core library, build tool, Modernizr.load and into how to extend all of these things for great good. HTML5 today. Straight up.

Did we mention we are giving away a ticket to TXJS?  It's sold out, btw.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Alex Sexton

Alex Sexton

Labs Engineer at Bazaarvoice

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/06/21/index.html b/posts/meetups/2011/06/21/index.html new file mode 100644 index 00000000..e3624bda --- /dev/null +++ b/posts/meetups/2011/06/21/index.html @@ -0,0 +1,9 @@ +Test-Driving JavaScript with Jasmine•Austin JavaScript

Test-Driving JavaScript with Jasmine

Wrapping up the amazing conference that was TXJS, this month TXJS frontman, Alex Sexton will be hosting June's meetup. We also have Austin local via Chicago, Tim Tyrrell chatting up Jasmine, the uber-cool JavaScript unit testing framework.

There seems to be a tendency for developers to do an excellent job of unit testing their server-side code but leaving client-side javascript as the new “spaghetti” dumping ground and it doesn’t have to be that way! Jasmine is a nifty Javascript BDD testing framework with a RSpec-like syntax that easily integrates with vanilla JavaScript, jQuery plugins, and even Rails applications.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Tim Tyrrell

Tim Tyrrell

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/07/19/index.html b/posts/meetups/2011/07/19/index.html new file mode 100644 index 00000000..892b2517 --- /dev/null +++ b/posts/meetups/2011/07/19/index.html @@ -0,0 +1,11 @@ +Realtime Web Apps with Node.js and Socket.io + Couchbase App•Austin JavaScript

Realtime Web Apps with Node.js and Socket.io + Couchbase App

UPDATE 07/19/11 :: Meeting moved to 7:45pm to accomodate the owners of our space.

It's hot.  We know.  But don't fret, this month, we'll have plenty of cold beverages (courtesy of Compass Learning) alongside a talk by local web developer, Aaron Forsander (no really, he will be here this time!).

Realtime Web Apps with Node.js and Socket.io

Node.js and Socket.io have made web sockets ridiculously easy to implement.  Creating real-time web applications has never been easier.  Couple that with the fact that most new phones have GPS and you've got the potential for some really cool interactivity.  In this talk Aaron will be discussing building realtime mobile web applications and demo a really amazing Android app called Zombie Run and how he's porting it to the web using Node.js and Socket.io.

UPDATE:: 7/15/11

Also (surprise!) joining us will be J Chris Anderson from Couchbase!

Chris was one of the early committers to the Apache CouchDB project and has been working on CouchDB for over 3 years. He's watched CouchDB grow from unknown to a widely deployed and trusted database, now used by large organizations such as the BBC and CERN as well as small organizations like Dimagi using CouchDB on smartphones in rural Africa. Chris has a unique perspective from being involved in all aspects of Couchbase, he is deep into technology but equally involved in the business side of Couchbase

JavaScript CouchApps Hackalong: jQuery, Couchbase, and a Chat App in 30 minutes or less

Couchbase is an HTTP server (as well as a database) so it can serve apps directly to the browser. In this talk, we'll build an HTML5 app on Couchbase, at a pace that anyone who knows basic JavaScript will be able to keep up with. At the end we'll create an ad-hoc cluster so we can all chat across the distributed system. I'll talk a little about how you can use the same techniques for serious apps, not just fun chat toys.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.

And bonus time, with Joe travelling the world, Alex Sexton will be hosting the meetup again!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Aaron Forsander

Aaron Forsander

Developer at Four Kitchens

J Chris Anderson

J Chris Anderson

Sponsor

Austin JavaScript is sponsored this month by Compass Learning. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/08/16/index.html b/posts/meetups/2011/08/16/index.html new file mode 100644 index 00000000..2d244086 --- /dev/null +++ b/posts/meetups/2011/08/16/index.html @@ -0,0 +1,9 @@ +The Fundamentals of JavaScript and jQuery•Austin JavaScript

The Fundamentals of JavaScript and jQuery

After last month's massive turnout, it is officially clear that the only way to beat the Austin heat is to come to the Austin JavaScript meetup (duh). With that being said, we are expecting all of you to return for this month's installment of the meetup as we have local living legend, Mike Cravey, here to serve up the fundamentals of JavaScript and jQuery.

Mike's talk will focus on the fundamentals of JavaScript the language. Think you know it all?  We guarantee you will learn something new, unless you are @andrewdupont BECAUSE HE KNOWS ALL #dupontCAPS. Moreover, the introductory talk with cover things like function hoisting and closures, but even simpler topics like basic expressions. Noobs are certainly welcome so if you are one or know someone, be sure they attend. The presentation will be a quick one, so feel free to chime in while Cravey runs the show.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.

Since [Joe][3] is still on gypsy status, Alex Sexton will be hosting the meetup again!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Mike Cravey

Mike Cravey

UI Engineer at WhaleShark Media

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/09/20/index.html b/posts/meetups/2011/09/20/index.html new file mode 100644 index 00000000..da591228 --- /dev/null +++ b/posts/meetups/2011/09/20/index.html @@ -0,0 +1,9 @@ +Using ApplicationCache to Speed Up Page Loads and Lawnchair.js For Storing Offline Data•Austin JavaScript

Using ApplicationCache to Speed Up Page Loads and Lawnchair.js For Storing Offline Data

September's meetup welcome's back local node.js hacker, Bradley Meck but this time Bradley is bringing his partner in crime, Kassandra Perch, to talk about not only a buzzword-worthy topic, but also one a topic that is incredibly useful — offline web apps.

Offline features are more than just for when you application is offline or for viewing content offline! Bradley and Kassandra will be discussing how to use ApplicationCache to speed up page loads and Lawnchair.js for storing offline data. They will have an example using Backbone.js' ORM to have an offline application send requests with updated data to a server after it has been offline w/o user interaction.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions. This is an open forum to present topics of discussion in a rapid-fire manner.

Joe and Alex will be both be attending Funconf so local Git, Python and JavaScript master, Travis Swicegood will be guest hosting the meetup.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Kassandra Perch

Kassandra Perch

Bradley Meck

Bradley Meck

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2011/11/15/index.html b/posts/meetups/2011/11/15/index.html new file mode 100644 index 00000000..26db38d9 --- /dev/null +++ b/posts/meetups/2011/11/15/index.html @@ -0,0 +1,9 @@ +Build Native Mobile Apps with Sencha Touch and Phonegap•Austin JavaScript

Build Native Mobile Apps with Sencha Touch and Phonegap

After an off month in October, we are back this month with another local giving a great talk on how to use web technologies to build native mobile applications with libraries such as Sencha Touch and Phonegap.

Lyle will be discussing the creation of native mobile apps using web technologies.  He'll cover items from development to debugging and distribution of the app. To help demonstrate these concepts, he'll be demoing a recent app that he created called Dateventure.

Joe is yet again still out of town so Alex will be guest hosting the meetup.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Lyle Garza

Lyle Garza

Sponsor

Austin JavaScript is sponsored this month by Tango Health. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/01/17/index.html b/posts/meetups/2012/01/17/index.html new file mode 100644 index 00000000..a289a911 --- /dev/null +++ b/posts/meetups/2012/01/17/index.html @@ -0,0 +1,9 @@ +Node.js. What Is It? How Does It Work?•Austin JavaScript

Node.js. What Is It? How Does It Work?

Happy New Year!  Now that most of us are back to work after a hopefully relaxing holiday, we are ready to kick off yet another year of solid JavaScript meetups for the Austin area.

This month we have a special guest flying in from New York City — the CTO and co-founder of Nodejitsu, Paolo Fragemeni.  Paolo, a solid computer programmer and veteran hacker has written loads of node.js code including the a significant portion dedicated to the node.js framework, Flatiron.

Node.js. What is it?!! How does it work?!! Paolo will be giving an informative talk on just that — the anatomy of node.js. So whether you are are node.js newbie or a seasoned veteran, this informative talk on node will benefit you.

Also, we will be throwing the 3rd Annual Austin JS SXSW Party in March so if you and/or your employer/company would like to sponsor the event (or be a part of it), please reach out to @joemccann to find out more details.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Paolo Fragemeni

Paolo Fragemeni

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/02/21/index.html b/posts/meetups/2012/02/21/index.html new file mode 100644 index 00000000..1c5bd11c --- /dev/null +++ b/posts/meetups/2012/02/21/index.html @@ -0,0 +1,9 @@ +Toura's Mulberry•Austin JavaScript

Toura's Mulberry

Following up on last month's stellar presentation by Nodejitsu's, co-founder and CTO, Paolo Fragemeni, Austin JavaScript is back in February with another mover and shaker in the JavaScript and Mobile development industry, Rebecca Murphey.

Rebecca will be introducing us to Toura's Mulberry, which is an open-source, cross-platform mobile application development framework built on top of PhoneGap that lets you use web technologies to produce engaging, content-rich applications. In this talk, Rebecca will give a quick demo of Mulberry basics, then dive in to how they architected the JavaScript, templates, CSS, and tests to create a flexible, pluggable, 100% client-side content publishing system. DON'T SLEEP ON THIS!

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Finally, we will be throwing the 3rd Annual Austin JS SXSW Party in March so if you and/or your employer/company would like to sponsor the event (or be a part of it), please reach out to @joemccann to find out more details.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Rebecca Murphey

Rebecca Murphey

Lead JavaScript Developer at Toura

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/04/17/index.html b/posts/meetups/2012/04/17/index.html new file mode 100644 index 00000000..96965279 --- /dev/null +++ b/posts/meetups/2012/04/17/index.html @@ -0,0 +1,11 @@ +Build Web Apps with Enyo and Onyx•Austin JavaScript

Build Web Apps with Enyo and Onyx

After another stellar SXSW event, Austin JS is back with another guest speaker, this time with Ben Combee of WebOS fame.

Straightforward and to the point, Ben will be chatting with us on how to build web apps with Enyo and Onyx.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Ben Combee

Ben Combee

Developer Platform Architect at HP

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/05/15/index.html b/posts/meetups/2012/05/15/index.html new file mode 100644 index 00000000..d18e19ac --- /dev/null +++ b/posts/meetups/2012/05/15/index.html @@ -0,0 +1,9 @@ +TreeHouse: Using Web Workers to Sandbox JS•Austin JavaScript

TreeHouse: Using Web Workers to Sandbox JS

This month's Austin JS meetup not only taps into our extensive local talent base, but brings in the academic side of JavaScript as well.  Local JavaScript aficionado, Lon Ingram, will be discussing his University of Texas Honors Thesis, Treehouse.  This is an event not to be missed!

Lon will be presenting TreeHouse, the subject of his honors thesis, which he completed under the supervision of Dr. Michael Walfish. TreeHouse is a system that uses Web Workers to sandbox (mostly) unmodified JavaScript. TreeHouse gives application authors fine-grained control over untrusted code in their application. Authors can control what parts of the DOM untrusted code can see and modify, as well as the API calls it can make.  Is your mind blown yet?

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Lon Ingram

Lon Ingram

Lead Frontend Engineer for Waterfall Mobile

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/06/19/index.html b/posts/meetups/2012/06/19/index.html new file mode 100644 index 00000000..557df7c8 --- /dev/null +++ b/posts/meetups/2012/06/19/index.html @@ -0,0 +1,9 @@ +Mikeal Rogers on Node•Austin JavaScript

Mikeal Rogers on Node

Coming in just on the heels of what is to be the JavaScript conference of the South, TXJS, Austin JavaScript has brought another out-of-town guest speaker to the June 2012 meetup.

Mikeal will be talking about node.  That's all he told me.  I foresee a rather bizarre presentation nonetheless.  Word is it may involve Japanese cuisine.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Mikeal Rogers

Mikeal Rogers

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/07/17/index.html b/posts/meetups/2012/07/17/index.html new file mode 100644 index 00000000..f0223c34 --- /dev/null +++ b/posts/meetups/2012/07/17/index.html @@ -0,0 +1,9 @@ +StatsD at Etsy•Austin JavaScript

StatsD at Etsy

It's hot.  We know. Why not come down to this month's meetup and learn some cool things from local front-end expert and O'Reilly published author, Garann Means!

If you know much about the engineering side of Etsy, you're probably aware that they love their devtools there. StatsD is one of their better-known tools. It's an open source Node service that they use to collect statistics about how the site is working and being used. Garann will talk about the tool itself and about how it fits into Etsy's larger process.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Garann Means

Garann Means

Senior Frontend Engineer at Etsy

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/08/21/index.html b/posts/meetups/2012/08/21/index.html new file mode 100644 index 00000000..74541660 --- /dev/null +++ b/posts/meetups/2012/08/21/index.html @@ -0,0 +1,9 @@ +Components of the Google Closure Tools•Austin JavaScript

Components of the Google Closure Tools

After last month's huge turnout for the meetup we are expecting yet another large turnout for local software developer and JavaScript aficionado, David Tulig.

David's talk will start by going over the components of the Google Closure Tools. This will cover the templates, which are usable on both the client and server, the library, which comes with a dependency management system and a large set of utilities, and the compiler, which performs advanced optimizations to speed up your JavaScript and reduce the size of the final application. He'll then go into detail on how Indeed has leveraged those tools to build resume instant search, covering using the closure tools in development, discussing the architecture that drives the product, and the advantages gained by using the closure tools.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

David Tulig

David Tulig

Software Engineer at Indeed.com

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/09/18/index.html b/posts/meetups/2012/09/18/index.html new file mode 100644 index 00000000..8ee9ddf3 --- /dev/null +++ b/posts/meetups/2012/09/18/index.html @@ -0,0 +1,9 @@ +Appcelerator's Titanium•Austin JavaScript

Appcelerator's Titanium

Appcelerator, the company behind the awesome mobile app development framework Titanium, has been a long time supporter of Austin JS going back many years.  This month, we are treated to a special presentation (no, NOT a product pitch) by one of their key (and local!) developers, Bert Granges, to talk about and show off the latest and greatest that Titanium has to offer.

Ever wonder what it would be like to use JavaScript to build native applications for iOS and Android? Wouldn't it be nice if you could use one codebase for both platforms?  Using JavaScript, Appcelerator Titanium platform and Cloud Services, you'll walk through what it takes to build out a fully functional mobile application supported by backend services. Along the way you will learn how Appcelerator Titanium works and hopefully learn a bit about JavaScript along the way.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Bert Granges

Bert Granges

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/10/16/index.html b/posts/meetups/2012/10/16/index.html new file mode 100644 index 00000000..fd55da62 --- /dev/null +++ b/posts/meetups/2012/10/16/index.html @@ -0,0 +1,9 @@ +Writing Windows Store Apps with JavaScript•Austin JavaScript

Writing Windows Store Apps with JavaScript

Post ACL weekend here in Austin, we will be having the last installment of Austin JS for 2012.  Sad Panda, indeed.  This month, we have another local JavaScript expert chatting up Windows 8!

Jonathan Hebert's talk will be about writing Windows Store Apps with JavaScript, including:

  • How to use the Windows Runtime from JavaScript
  • The WinJS libraries
  • Async programming with promises
  • Re-using your Windows Store App code in a browser
  • Avoiding gotchas in the Windows Store App process

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann.  Oh wait!  He Hebert's not gonna be there. Guess you Hebert'll have to heckle guest host, @slexaxton!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Johnathan Hebert

Johnathan Hebert

Lead JavaScript Developer at Evernote

Sponsor

Austin JavaScript is sponsored this month by Rapid7. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2012/11/19/index.html b/posts/meetups/2012/11/19/index.html new file mode 100644 index 00000000..5f990515 --- /dev/null +++ b/posts/meetups/2012/11/19/index.html @@ -0,0 +1,9 @@ +Austin JavaScript Thanksgiving.js 2012•Austin JavaScript

Austin JavaScript Thanksgiving.js 2012

Since the timing of the Thanksgiving holidays sadly interrupts Austin JavaScript's monthly meetup schedule, we decided to still get together instead of canceling the meetup entirely.

Thanksgiving.js

So come and join us for free beer, free food and an all around good time at our staple pub, The Ginger Man.  This is purely a social event, but your JS skills may be tested so come prepared!

Meetup details
DATE
TIME -
LOCATION The Gingerman Austin (301 Lavaca Street, Austin, TX 78701)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Sponsor

One of last month’s meetup sponsors, Rapid 7, is our exclusive sponsor for this event so be sure to thank them and say hello!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2013/01/15/index.html b/posts/meetups/2013/01/15/index.html new file mode 100644 index 00000000..4c0dfbee --- /dev/null +++ b/posts/meetups/2013/01/15/index.html @@ -0,0 +1,9 @@ +Mozilla: Cool New Browser Features•Austin JavaScript

Mozilla: Cool New Browser Features

Let's ring in the new year with some new JavaScript Hotness. We've got two JavaScript pros flying in from Mozilla to go over some cool new browser features!

Their talk will be about all the brand new stuff in the browser world. They describe it:

It is no secret that Mozilla has been pushing the boundaries of what the internet is capable of, and has been a fundamental force in evolving the web. This will be a whirlwind tour of exciting JavaScript API's that Mozilla is leading.

They are going to cover a variety of things; Web SMS, Web Telephony, Battery API, Web Vibrator, Touch, Camera, The future of gaming, Mouse Lock, Gamepad API, Gladius.js, Mozilla Open Web apps and Identity/Browser Id. Afterwards there will be a Q & A session covering these topics.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann. Alternatively you can heckle new host, @slexaxton!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Luke Crouch

Luke Crouch

David Walsh

David Walsh

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2013/02/19/index.html b/posts/meetups/2013/02/19/index.html new file mode 100644 index 00000000..6e8d9803 --- /dev/null +++ b/posts/meetups/2013/02/19/index.html @@ -0,0 +1,9 @@ +Reanimator: Capturing and Replaying JavaScript Applications•Austin JavaScript

Reanimator: Capturing and Replaying JavaScript Applications

February has enough days dedicated to love and romance, so we're dedicating our meetup to bugs. We've got local JavaScript free-thinker and theorist Lon Ingram joining us for a talk about bugs and bug reproduction (ewww gross).

Lon will discuss the problem of reproducing and diagnosing bugs reported from the wild, and then present Reanimator, an experimental system for capturing and replaying JavaScript applications. Reanimator captures non-deterministic input to a JavaScript application in a log that can replayed at a later date. It was originally designed for recording web application crashes for later debugging, but Lon will also cover other uses, such as usability testing and tutorials.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @joemccann or @slexaxton!

Any questions or suggestions, please feel free to contact Alex ([@SlexAxton][5]).  Also, be sure to follow us on Twitter: [@AustinJS][6].

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Lon Ingram

Lon Ingram

Lead Frontend Engineer at Waterfall Mobile

Sponsor

Thanks to our sponsor IBM. They’re hiring developers! Check out the Job Description][4] and contact Jill (jorlich@us.ibm.com) to apply.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2013/05/21/index.html b/posts/meetups/2013/05/21/index.html new file mode 100644 index 00000000..75bd0ccc --- /dev/null +++ b/posts/meetups/2013/05/21/index.html @@ -0,0 +1,9 @@ +D3 and Data Visualizations•Austin JavaScript

D3 and Data Visualizations

We're back from SXSW and TXJS and ready to get back into action! This month we'll have local JavaScripter, Mark DiMarco talk about D3.js and Data Visualizations.

Mark will give an intro to D3.js and data visualizations as well as some real world use cases for using these tools. Using an interactive programming style, he will navigate the ins and outs of simplifying data, manipulating it, and displaying it in a way that the end user can understand. He'll compare D3 to some other popular charting libraries and note the reasons when you'd pick one style of data visualizations over another.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle [@slexaxton][4] or this months fill-in host [@tswicegood][5]!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Mark DiMarco

Mark DiMarco

Senior UI Engineer at Bazaarvoice

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2013/06/18/index.html b/posts/meetups/2013/06/18/index.html new file mode 100644 index 00000000..6aed0661 --- /dev/null +++ b/posts/meetups/2013/06/18/index.html @@ -0,0 +1,9 @@ +Writing Testable Code•Austin JavaScript

Writing Testable Code

It's June. It's getting hot and we all need a little more JavaScript in our lives. Well, enjoy the air conditioned comfort of Austin JS on June 18th with a talk from JavaScript SuperStar Rebecca Murphey.

It's one thing to write the code you need to write to get something working; it's another thing to write the code you need to write if you want to be able to prove that it works — and that it keeps working as you refactor and add new features. In this talk, we'll look at what it means to write testable JavaScript code.

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @slexaxton!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Rebecca Murphey

Rebecca Murphey

Sponsor

This month’s awesome sponsor is the XO Group, Inc. Be sure to thank them for the drinks and pizza, or talk to them about some job opportunities! You can also email Shaun if you are interested in working there.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2013/07/16/index.html b/posts/meetups/2013/07/16/index.html new file mode 100644 index 00000000..45aa982d --- /dev/null +++ b/posts/meetups/2013/07/16/index.html @@ -0,0 +1,9 @@ +Lightning Talks•Austin JavaScript

Lightning Talks

It's finally over 100 degrees with some consistency. It feels like home again. It must be July. Come celebrate our freedom at Austin JavaScript's first lightning talk meeting.

Instead of having a traditional speaker, we're going to try a lightning talks meeting. We've discussed it with the a few of you and are excited to here everything you guys have to say. If it goes well, we'd like to have these 1 or 2 times a year, so please give feedback!

How it will work

  1. Show up to the meeting with a 5 minute (or so) demo of something that's useful to you in your work as a front-end engineer. This can be software, or patterns, or tools, or frameworks. In the past, just pulling up the website for a tool has been a totally easy way to have something to show without any slides to prep! (We encourage you to think about what you'll say though).
  2. Get up at some point during the meeting and plugin your laptop (we should have a default laptop if you don't need/have one) and give this (very informal) presentation.
  3. Watch everyone else share their best tips and tricks and tools!

We anticipate everyone coming with something that they'd like to share, but if there is a lack of people who are volunteering, then multiple non-contiguous talks by the same person will be allowed. Hopefully we have too many for that to happen, though!

Of course we will followup all of this up with our wildly crowd-pleasing roundtable of JavaScript-related questions.  This is an open forum to present topics of discussion in a rapid-fire manner or simply heckle @lawnsea!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Sponsor

Austin JavaScript is sponsored this month by Waterfall Mobile. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2013/10/15/index.html b/posts/meetups/2013/10/15/index.html new file mode 100644 index 00000000..a548a5e5 --- /dev/null +++ b/posts/meetups/2013/10/15/index.html @@ -0,0 +1,9 @@ +Tom Dale on Ember.js•Austin JavaScript

Tom Dale on Ember.js

We hope your summers were eventful and full of fun, but it's time to get back into the groove. We're happy to partner up with the EmberATX meetup for a meetup of the centuries. Tom Dale, co-creator of Ember.js will be visiting Austin to give a talk about Ember.js, the state of Ember 1.0, and the future of the framework.

We're expecting a pretty full-house and only have limited space, so we ask that you RSVP here: Meetup.com EmberATX/AustinJS RSVP (slackers note: it should be open up 'til the moment the meetup starts, unless it fills up).

AustinJS would like to thank the @EmberATX community for setting this up. We're happy to share our space with other awesome JavaScript communities in town!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Tom Dale

Tom Dale

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2013/11/19/index.html b/posts/meetups/2013/11/19/index.html new file mode 100644 index 00000000..a52c460c --- /dev/null +++ b/posts/meetups/2013/11/19/index.html @@ -0,0 +1,9 @@ +Kassandra Perch on Flight•Austin JavaScript

Kassandra Perch on Flight

Glad tidings, Austin JavaScripters, we bring you good news of our meetup this month! We're happy to welcome Kassandra Perch to throw down some knowledge on Twitter's framework, Flight.

Her talk is titled "Flight: a Framework done right,” and we'll talk about how the framework is event-driven, component-based, and leverages the DOM to form a cohesive code structure. The concept of functional mixins will also be introduced, and how it is unique from other forms of class composition. Finally, we'll cover how all of these create a testable, scalable, friendly front-end code base.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Kassandra Perch

Kassandra Perch

Sponsor

Austin JavaScript is sponsored this month by PayPal. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

You can also e-mail Hudson Carlton if you are interested in working there.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/01/21/index.html b/posts/meetups/2014/01/21/index.html new file mode 100644 index 00000000..a83b0b17 --- /dev/null +++ b/posts/meetups/2014/01/21/index.html @@ -0,0 +1,9 @@ +Release the Kraken: A Story of Node.js in the Enterprise•Austin JavaScript

Release the Kraken: A Story of Node.js in the Enterprise

Happy New Year, Austin JavaScriptorians! Hopefully you're enjoying your 2014 SO MUCH you've already broken those pesky resolutions you made a couple of weeks ago.

We're kicking the new year off with an exciting talk from our friends at PayPal called "Release the Kraken: A Story of Node.js in the Enterprise." Jeff Harrell and Erik Toth will tell us how PayPal revitalized its tech stack by moving from Java, JSP, and proprietary solutions to a Node.js web application stack with dust.js templating. Developer agility was the primary motivation, but along the way they had to take on enterprise culture and teach people that JavaScript is no longer a "toy," but a powerful tool to wield. We'll also take a look at PayPal's web app framework, Kraken.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Jeff Harrell

Jeff Harrell

Director of Engineering at PayPal

Erik Toth

Erik Toth

Principal Software Engineer AT PayPal

Sponsor

Austin JavaScript is sponsored this month by RetailMeNot. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/02/18/index.html b/posts/meetups/2014/02/18/index.html new file mode 100644 index 00000000..44e11ee5 --- /dev/null +++ b/posts/meetups/2014/02/18/index.html @@ -0,0 +1,11 @@ +Refactoring Big Apps•Austin JavaScript

Refactoring Big Apps

This month we'll be hearing from Garann Means about refactoring big apps!

It would be nice if developers could download a JavaScript framework, plug in the custom logic required for their particular problem, and have a functional, scalable, and reliable application. As any who's tried can probably tell you, however, it doesn't work like that. It doesn't matter if your application has 5000 "pages" or less than 50 — it will eventually become a large application in terms of code, because size of code is not just a measure of the complexity of the app itself, but of its maturity. If you've tried taking an app from a minimal set of functionality to something complex enough to cover all the edge cases, you've probably done some rewriting.

If you haven't, it's your lucky day! We'll talk about several of the ways you can almost guarantee a rewrite in your app's future. If, on the other hand, rewrites don't sound like that much fun to you, we'll also talk about how to avoid them or at least minimise the risk they present

IMPORTANT: Location changed to Mass Relevance at 8th and Brazos, just up the street.

Meetup details
DATE
TIME -
LOCATION Mass Relevance (8th and Brazos, Austin, TX 78701)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Garann Means

Garann Means

Sponsor

AustinJS is sponsored this month by Mass Relevance, so if you enjoy a slice of pizza or a drink at the meetup then be sure to thank them. Better yet, if you’re a developer looking for a job, check out careers at Mass Relevance or chat with one of their engineers at the meetup.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/04/15/index.html b/posts/meetups/2014/04/15/index.html new file mode 100644 index 00000000..fc540963 --- /dev/null +++ b/posts/meetups/2014/04/15/index.html @@ -0,0 +1,9 @@ +The Power of M + Web Components•Austin JavaScript

The Power of M + Web Components

Hold on to your butts, it's AustinJS time. Not only will we hear from local hero Charles Lowell (@cowboyd) about "The Power of M," but we're also hosting a special guest from Google that will tell us about the future of the web platform, web components!

Whether you're using a full fledged MVC framework. or just spicing up your UX with a single special interaction, it's the "M" and only the "M" that is the key creating powerful user experiences. To demonstrate this principle in action, we'll first create an in-memory model of what a color is, and then use it to build an interactive 3D color chooser. Sound hard? Not when we harness the Power of M. In this talk, we'll track the building of an interactive, 3D color chooser that contains interactive visualizations of both the RGB Space (a cube), and the HSL Space (a cylinder).

BUT WAIT THERE'S MORE! Web components are an important part of the future of the web, so when we heard that Rob Dodson (@rob_dodson) was going to be in town, we invited him to come tell us more about them. Rob is a Google developer advocate that specializes in this area, so we're looking forward to learning from him about web components and Google's polyfill/framework Polymer.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Charles Lowell

Charles Lowell

Rob Dodson

Rob Dodson

Sponsor

AustinJS is sponsored this month by the web chefs over at Four Kitchens. Be sure to let them know you appreciate their support, and if you’re a developer looking for a job, check out careers at Four Kitchens or chat with one of their engineers at the meetup.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/05/20/index.html b/posts/meetups/2014/05/20/index.html new file mode 100644 index 00000000..24873182 --- /dev/null +++ b/posts/meetups/2014/05/20/index.html @@ -0,0 +1,9 @@ +LESS + X11 Colors•Austin JavaScript

LESS + X11 Colors

We're back with another AustinJS! We'll be hearing a couple of talks again this month. First up, Steve Stedman (@stedman) will be doling out some knowledge on LESS, a popular CSS preprocessor implemented in Javascript. Next Alex Sexton (@SlexAxton) will teach us about X11 colors (wha?!!??) and how they've impacted the web.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Steve Stedman

Steve Stedman

Lead Software Engineer at PayPal

Alex Sexton

Alex Sexton

Sponsor

Our sponsor this month is Hudl. Come tell them thanks for buying the pizza and drinks, and if you happen to be looking for a job, let them know in person or checkout their open positions!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/06/17/index.html b/posts/meetups/2014/06/17/index.html new file mode 100644 index 00000000..346eba2f --- /dev/null +++ b/posts/meetups/2014/06/17/index.html @@ -0,0 +1,9 @@ +Complexity Metrics and You•Austin JavaScript

Complexity Metrics and You

What up Austonians, it's Austin JS time again! Come join us at Spredfast (formerly Mass Relevance, note the location change) for another meetup. We'll hear from local web builder Jared Stilwell about "Complexity Metrics and You." What are complexity metrics? Great question!

The code works. Your linter and test cases are happy. But, you feel the code could be cleaner. Where do you start? Complexity metrics can lead the way. Using a combination of measurement techniques, the process of finding rough edges in your codebase and tracking improvements becomes much easier. We'll cover several common metrics, the landscape of existing tools for JavaScript, and how they can be used to guide refactoring.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Jared Stilwell

Jared Stilwell

Sponsor

Tonight our sponsor is an awesome startup from right here in Austin. HuBoard gives you instant project management built right on top of what you’re already using for your project, GitHub. Check out their app online, and make sure to tell them thanks for covering the pizza and drinks this month!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/07/15/index.html b/posts/meetups/2014/07/15/index.html new file mode 100644 index 00000000..83985b10 --- /dev/null +++ b/posts/meetups/2014/07/15/index.html @@ -0,0 +1,9 @@ +Lightning Talks•Austin JavaScript

Lightning Talks

Hey Austin Javascripters, this month's meetup is gonna bring that ~*~* variety *~*~. Here are a few talks that we've got lined up already:

We've still got some time though, so feel free to come with an idea, and we'll work everyone in!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Lon Ingram

Lon Ingram

Kassandra Perch

Kassandra Perch

Elben Shira

Elben Shira

Michael Mullins

Michael Mullins

Ashley Price

Ashley Price

Patty Cifra

Patty Cifra

Aaron Stacy

Aaron Stacy

Sponsor

Big thanks to our sponsors this month, The Bidding Network, a top-flight staffing firm based right here in Austin. If you enjoy the pizza and drinks, make sure to tell them thanks. And of course, if you’re looking for a job you should talk to them. You won’t find a better recruiter in Austin!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/08/26/index.html b/posts/meetups/2014/08/26/index.html new file mode 100644 index 00000000..bc5c10c2 --- /dev/null +++ b/posts/meetups/2014/08/26/index.html @@ -0,0 +1,9 @@ +Yield! How ES6 Generators and Monocle-js Can Bring Async Into Line, Literally•Austin JavaScript

Yield! How ES6 Generators and Monocle-js Can Bring Async Into Line, Literally

Whatup jorbascrupmers. As promised we're going to be hearing about a shiny new feature coming in the next version of JavaScript — generators.

Jonathan Lipps will give a talk titled Yield! How ES6 Generators and Monocle-js Can Bring Async Into Line, Literally, and will teach us how generators can save our souls from callback hell.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Jonathan Lipps

Jonathan Lipps

Sponsor

We’ve got a lot of good folks to thank this month. Thanks to Sauce Labs for flying Jonathan out to do the talk. As always, thanks to Frog for hosting us. And last but not least thanks to our main sponsor, Joust, for drinks and food. Joust is a startup with a lot of momentum and several major customers like ESPN, ABC, and MTV. They’re building a core team of engineers, so if you’re interested, contact Philip.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/09/16/index.html b/posts/meetups/2014/09/16/index.html new file mode 100644 index 00000000..99d2c4af --- /dev/null +++ b/posts/meetups/2014/09/16/index.html @@ -0,0 +1,13 @@ +Testing JavaScript•Austin JavaScript

Testing JavaScript

Get ready for a blowout Austin JavaScripters, cause this month's meetup is going to be a choreography-fueled rager:

This month's speaker is Dan "Jazz HandsJazzHands" Heberden:

Dan's going to take you to school on testing Javascript. Get ready to be SHOCKED AND AWED.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Dan Heberden

Dan Heberden

Sponsor

Thanks to sponsors this month, Help.com, whose team of customer service and technology experts is setting out to build the next generation of customer service software. Their goal is to give companies the tools they need to delight their customers at enterprise scale.

Help.com is a SaaS startup based in downtown Austin. They recently closed a $6 million seed round and growing their team is a top priority. Their team of experienced customer service and technology experts is excited to change the landscape of the industry and become one of the best places to work in Austin. If you’re interested in joining them, talk to them at the meetup or take a look at their job postings.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2014/10/21/index.html b/posts/meetups/2014/10/21/index.html new file mode 100644 index 00000000..43ba0e27 --- /dev/null +++ b/posts/meetups/2014/10/21/index.html @@ -0,0 +1,9 @@ +Building Mobile Apps with Cordova•Austin JavaScript

Building Mobile Apps with Cordova

We've got another ~*super rad*~ meetup next Tuesday, October 21st. Local favorite Dan DeFelippi (@expertdan) is going to educate us on building mobile apps with Cordova (the open-source engine behind PhoneGap). Aside from being a proper geek and hacker, Dan is a co-founder of local bike rental and bike share app Spokefly.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Dan DeFelippi

Dan DeFelippi

Sponsor

Austin JavaScript is sponsored this month by Bazaar Voice. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/01/20/index.html b/posts/meetups/2015/01/20/index.html new file mode 100644 index 00000000..12678a8b --- /dev/null +++ b/posts/meetups/2015/01/20/index.html @@ -0,0 +1,13 @@ +Harrowing tales of running code on other people's sites•Austin JavaScript

Harrowing tales of running code on other people's sites

Hey happy New Year Austin! Let's celebrate by getting together and talking about 3rd party JavaScript.

aw snap third party js party

So who's gonna emcee this rager? None other than the venerable Rebecca Murphey (@rmurphey). Get ready to hear some harrowing-ass tales of running code on other people's sites, from one of the largest 3rd party JavaScript deployments out there.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Rebecca Murphey

Rebecca Murphey

Staff Software Engineer at Bazaarvoice

Sponsor

You may have heard of this Seattle based e-retailer, but you may not have heard that they’re hiring for positions at their Austin office! If the idea of working on the world’s 6th largest website is interesting to you, come talk to one of the Amazon folks at the meetup. You can also apply online.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/04/21/index.html b/posts/meetups/2015/04/21/index.html new file mode 100644 index 00000000..0603c248 --- /dev/null +++ b/posts/meetups/2015/04/21/index.html @@ -0,0 +1,9 @@ +JavaScript Crypto•Austin JavaScript

JavaScript Crypto

Are you finally recovered from SXSW and ready. for. some. JavaScript?! Well, you're in luck: this Tuesday, Austin local Tara Vancil is giving us a clinic on JavaScript crypto. Please don't tell the NSA.

Animated gif of Whistler from Sneakers

The web hosts a large portion of the world's new cryptographic tools, and the debate about whether JavaScript is up to the challenge carries on. Tara will discuss how JavaScript plays an important role in developing some of the best crypto tools out there, explain some situations in which it just doesn't cut it, and show some examples of both.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Tara Vancil

Tara Vancil

Sponsor

Austin JavaScript is sponsored this month by Bocoup. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/05/19/index.html b/posts/meetups/2015/05/19/index.html new file mode 100644 index 00000000..ad82561f --- /dev/null +++ b/posts/meetups/2015/05/19/index.html @@ -0,0 +1,9 @@ +on('input'): Dealing With Data From Your User In Real-time•Austin JavaScript

on('input'): Dealing With Data From Your User In Real-time

As the saying goes, "April showers bring May showers." They also bring you another JavaScript meetup! Local markup slinger Charles Lowell will be giving a talk titled "on('input'): dealing with data from your user in real-time… as in like forms, actually."

animated gif of what appears to be a honey badger dancing

Dealing with forms in a stateful UI can be a nightmare. While most of the major frameworks focus on their hot new rendering hotness, they uniformly pass the buck when it comes to handling user input. More often than not, you’re on your own, armed with nothing but callbacks when it comes to the complexities of wrangling networks of textfields, checkboxes and other custom components into robust, valid data structures that the rest of your app can use. In this talk, we’ll explore how to bring just a little more sanity to our forms by looking for help in an unlikely place: those same advances in rendering that have pushed the state of the art so far forward these past few years.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Charles Lowell

Charles Lowell

Sponsor

Austin JavaScript is sponsored this month by uShip. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/06/16/index.html b/posts/meetups/2015/06/16/index.html new file mode 100644 index 00000000..cbaaa853 --- /dev/null +++ b/posts/meetups/2015/06/16/index.html @@ -0,0 +1,9 @@ +Wrangling Transpilations•Austin JavaScript

Wrangling Transpilations

Howdy, Texas. We're looking forward to seeing all of you fine vaqueras and vaqueros this Tuesday June 17, 2015 as Kyle Simpson (@getify) rustles up some knowledge on transpiling JavaScript.

The new reality of JavaScript is that the features will evolve even quicker than the specification, and much quicker than your "supported" browsers. So we're going to have to come to grips with transpilers being a standard part of our build processes. But what can we do to wrangle at least two versions of every file? What does that mean for server-side coding (node/iojs) and what does it mean for browser-delivered files? Should we use the transpiled code everywhere, or should we have split delivery?

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Kyle Simpson

Kyle Simpson

Sponsor

Microsoft BizSpark: supporting your startup as you grow

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/07/21/index.html b/posts/meetups/2015/07/21/index.html new file mode 100644 index 00000000..c24c308e --- /dev/null +++ b/posts/meetups/2015/07/21/index.html @@ -0,0 +1,11 @@ +JerseyScript.tx•Austin JavaScript

JerseyScript.tx

Sup, y'all. We've got something special planned for our July meetup and we are shore you're gonna think it's fresh to death.

Here's the Situation: AustinJS is going down the Shore! Jenn Schiffer is staging a blowout JerseyScript bo-coup on July 22, 2015. Jenn has convinced New York's own Adam J. Sontag to come rap with us about a speech recognition game he is working on.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Jenn Schiffer

Jenn Schiffer

Adam J. Sontag

Adam J. Sontag

Sponsor

Austin JavaScript is sponsored this month by Advisory Board. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/08/18/index.html b/posts/meetups/2015/08/18/index.html new file mode 100644 index 00000000..9ceadd6e --- /dev/null +++ b/posts/meetups/2015/08/18/index.html @@ -0,0 +1,15 @@ +Ember.js and Ember-CLI•Austin JavaScript

Ember.js and Ember-CLI

We're not in our usual location! We'll be meeting at Spredfast this month in the Silicon Labs building, so please plan accordingly.

Hey Austin JavaScripters, summer is in full swing and {{ joke_about_how_ember_is_hot }}. We're excited to hear from Iheanyi Ekechukwu as he tells us about "Ember.js, Ember-CLI, and how it all relates to that 'shut up and dance with me' song," (which we were actually hoping to hear about last month). Hope to see you there this Tuesday, August 19, 2015.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Iheanyi Ekechukwu

Iheanyi Ekechukwu

Sponsor

Austin JavaScript is sponsored this month by RetailMeNot. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/09/15/index.html b/posts/meetups/2015/09/15/index.html new file mode 100644 index 00000000..fdfd457a --- /dev/null +++ b/posts/meetups/2015/09/15/index.html @@ -0,0 +1,17 @@ +All-React Extravaganza•Austin JavaScript

All-React Extravaganza

Webster's Dictionary defines "extravaganza" as:

a very large and exciting show or event

And nothing says exciting like JavaScript frameworksssssss!

Ok, calm down for a second so I can tell you what's going on here. Tim Tyrrell and Travis Swicegood are going to tell us about ReactJS, Flux, and that sort of stuff. Tim will kick it off live-coding with React, and then Travis will give a whirlwind tour of Flux and how it fits into the ecosystem we all love.

We won't dive too deep since we haven't covered React at AustinJS yet, but stay tuned for news about a new meetup you might be into!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Tim Tyrrell

Tim Tyrrell

Travis Swicegood

Travis Swicegood

Campus Director @TheIronYard in ATX

Sponsor

Austin JavaScript is sponsored this month by Main Street Hub. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2015/10/20/index.html b/posts/meetups/2015/10/20/index.html new file mode 100644 index 00000000..8b33bd6d --- /dev/null +++ b/posts/meetups/2015/10/20/index.html @@ -0,0 +1,9 @@ +Node 4, huh yeah, what is it good for?•Austin JavaScript

Node 4, huh yeah, what is it good for?

For our final meetup of 2k15 we have a very special guest: Joe McCann, founder of AustinJS and NodeSource, is going to talk about this Node.js thing we've heard so much about. Node recently went straight from 0.12 to 4.0, meaning it is 33.3X more Enterprise Ready™®©℠ than competing platforms. Joe will tell us everything we need to know to scale Node out the front door and into the cloud.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Joe McCann

Joe McCann

Sponsor

Austin JavaScript is sponsored this month by ReIntent. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/01/19/index.html b/posts/meetups/2016/01/19/index.html new file mode 100644 index 00000000..19bdfbda --- /dev/null +++ b/posts/meetups/2016/01/19/index.html @@ -0,0 +1,9 @@ +Alex Sexton talks about client-side "security"•Austin JavaScript

Alex Sexton talks about client-side "security"

🎉🎆 Happy New Year 🎆🎉 Hopefully 2016 finds all of you well, and hopefully you'll RESOLLLLVVVVE to make it out to AustinJS next week to hear Alex Sexton talk about "almost definitely client side security." We're pretty certain that means his three-hour deep dive on whether Rey is a Kenobi (hey as long as it's not politics, religion, or sex right).

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Alex Sexton

Alex Sexton

Sponsor

Austin JavaScript is sponsored this month by The Iron Yard. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/02/09/index.html b/posts/meetups/2016/02/09/index.html new file mode 100644 index 00000000..36289f1d --- /dev/null +++ b/posts/meetups/2016/02/09/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/02/16/.

\ No newline at end of file diff --git a/posts/meetups/2016/02/16/index.html b/posts/meetups/2016/02/16/index.html new file mode 100644 index 00000000..9002a588 --- /dev/null +++ b/posts/meetups/2016/02/16/index.html @@ -0,0 +1,13 @@ +Bringing Open-Source Practices to Your Day Job•Austin JavaScript

Bringing Open-Source Practices to Your Day Job

We're not in our usual location!: We'll be meeting at Spredfast this month in the Silicon Labs Building on Colorado/Cesar Chavez (map).

Hey everyone, we're excited about February 17, 2016 because Benjamin Coe is going to come talk about Bringing Open-Source Practices to Your Day Job.

We've got food and beverages this month thanks to Front End Development at IBM. If you'd like to hear more about what they're working on, feel free to reach out to frontend@us.ibm.com or check out the Feducation event they're doing with General Assembly.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Benjamin Coe

Benjamin Coe

Sponsor

Austin JavaScript is sponsored this month by IBM Design. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/04/12/index.html b/posts/meetups/2016/04/12/index.html new file mode 100644 index 00000000..efab02e4 --- /dev/null +++ b/posts/meetups/2016/04/12/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/04/19/.

\ No newline at end of file diff --git a/posts/meetups/2016/04/19/index.html b/posts/meetups/2016/04/19/index.html new file mode 100644 index 00000000..b8a18d01 --- /dev/null +++ b/posts/meetups/2016/04/19/index.html @@ -0,0 +1,9 @@ +Anton Astashov and Elm•Austin JavaScript

Anton Astashov and Elm

It's April, so let's shake off our collective SXSW hangovers 🍻 (or maybe emerge from our SXSW bunkers ☢️) and get together on April 20, 2016 for another great AustinJS!

We'll be hearing from Anton Astashov about Elm, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. He'll cover why it’s cool, what it looks like, it’s pros and (most importantly) cons!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Anton Astashov

Anton Astashov

Sponsor

Austin JavaScript is sponsored this month by Auth0. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/05/10/index.html b/posts/meetups/2016/05/10/index.html new file mode 100644 index 00000000..b13dae0b --- /dev/null +++ b/posts/meetups/2016/05/10/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/05/17/.

\ No newline at end of file diff --git a/posts/meetups/2016/05/17/index.html b/posts/meetups/2016/05/17/index.html new file mode 100644 index 00000000..ccf40040 --- /dev/null +++ b/posts/meetups/2016/05/17/index.html @@ -0,0 +1,9 @@ +Making Browsers Compatible with Web JavaScript•Austin JavaScript

Making Browsers Compatible with Web JavaScript

This month we've got dark web expert and Gotye fan Miike Mike Snow Taylor in to discuss the nuances of writing JavaScript that actually works in world-wide web browsing machines. Come out and join us next Tuesday May 18, 2016!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Mike Taylor

Mike Taylor

Web Compatibility Engineer at Mozilla

Sponsor

Austin JavaScript is sponsored this month by HomeAway. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/06/18/index.html b/posts/meetups/2016/06/18/index.html new file mode 100644 index 00000000..bc9a572d --- /dev/null +++ b/posts/meetups/2016/06/18/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/06/21/.

\ No newline at end of file diff --git a/posts/meetups/2016/06/21/index.html b/posts/meetups/2016/06/21/index.html new file mode 100644 index 00000000..139fc98e --- /dev/null +++ b/posts/meetups/2016/06/21/index.html @@ -0,0 +1,9 @@ +Making It Better Without Making It Over•Austin JavaScript

Making It Better Without Making It Over

This month we've got veteran frontend engineer Rebecca Murphey, who will share the story of how she started a new job this year by paying a visit to JavaScript circa 2009, back when Ryan Dahl was getting ready to announce Node and Facebook was still four years away from being mocked for the apparent heresy of JSX. She'll explain how she modernized and best-practice-ified a project that didn't even have a package.json, smoothing the development process, eliminating common sources of bugs, paving the way for bigger improvements, and never once uttering the words "we oughta just start from scratch." Come out and join us next Tuesday June 22, 2016!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Rebecca Murphey

Rebecca Murphey

Software Engineer at Indeed

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/07/13/index.html b/posts/meetups/2016/07/13/index.html new file mode 100644 index 00000000..8e37b53b --- /dev/null +++ b/posts/meetups/2016/07/13/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/07/19/.

\ No newline at end of file diff --git a/posts/meetups/2016/07/19/index.html b/posts/meetups/2016/07/19/index.html new file mode 100644 index 00000000..ed7f36d7 --- /dev/null +++ b/posts/meetups/2016/07/19/index.html @@ -0,0 +1,9 @@ +Browser vendors hate him!•Austin JavaScript

Browser vendors hate him!

This Tuesday, July 20, 2016, discover how this one weird extension changed the web forever. Andrew Dupont will give us a 12 year perspective (most of a century in internet years) on the ways GreaseMonkey shaped today's browsers and how user scripts give us the opportunity of a better web.

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Andrew Dupont

Andrew Dupont

Sponsor

Austin JavaScript is sponsored this month by RetailMeNot. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/08/09/index.html b/posts/meetups/2016/08/09/index.html new file mode 100644 index 00000000..7404690f --- /dev/null +++ b/posts/meetups/2016/08/09/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/08/16/.

\ No newline at end of file diff --git a/posts/meetups/2016/08/16/index.html b/posts/meetups/2016/08/16/index.html new file mode 100644 index 00000000..9b28b1fd --- /dev/null +++ b/posts/meetups/2016/08/16/index.html @@ -0,0 +1,23 @@ +PWA's and TLA's, but definitely not SPA's•Austin JavaScript

PWA's and TLA's, but definitely not SPA's

Come out next Tuesday, August 17, 2016, as Dave Rupert tells us how to make the mobile web great again make Progressive Web Apps!

Meetup details
DATE
TIME -
LOCATION Frog Design (101 West 6th Street, Austin, TX 78701, 2nd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Sponsor

Austin JavaScript is sponsored this month by NodeSource. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/09/15/index.html b/posts/meetups/2016/09/15/index.html new file mode 100644 index 00000000..3de5ce88 --- /dev/null +++ b/posts/meetups/2016/09/15/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/09/20/.

\ No newline at end of file diff --git a/posts/meetups/2016/09/20/index.html b/posts/meetups/2016/09/20/index.html new file mode 100644 index 00000000..9baecd57 --- /dev/null +++ b/posts/meetups/2016/09/20/index.html @@ -0,0 +1,9 @@ +JavaScript in the Ivory Tower•Austin JavaScript

JavaScript in the Ivory Tower

It may still be hot in ATX, but summer is over, so our very own Lon Ingram is gonna take us back to school and tell us about JavaScript in the Ivory Tower. We'll cover some great papers about JavaScript, and go beyond that to discuss how to find good research and read those super long intimidating papers.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Lon Ingram

Lon Ingram

Principle UI Engineer at RetailMeNot

Sponsor

Austin JavaScript is sponsored this month by Becker Wright Consultants. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/10/18/index.html b/posts/meetups/2016/10/18/index.html new file mode 100644 index 00000000..ab6a1207 --- /dev/null +++ b/posts/meetups/2016/10/18/index.html @@ -0,0 +1,15 @@ +Austin on AustinATX•Austin JavaScript

Austin on AustinATX

We're not in our usual location!: We'll be meeting at TechSpace Austin this month (map).

We've got a special meetup tonight! Austin on Rails, AustinJS, and EmberATX are teaming up to bring Yehuda Katz to town. Yehuda will tell us about "Ember, Now and Next," and then we'll have a Fireside Chat. Register and find out more on the event page:

Looking forward to seeing you there!

Meetup details
DATE
TIME -
LOCATION TechSpace Austin (98 San Jacinto Boulevard, Austin, TX 78701)
(Check back here or on Twitter for updates.)

Speaker

Yehuda Katz

Yehuda Katz

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2016/11/10/index.html b/posts/meetups/2016/11/10/index.html new file mode 100644 index 00000000..24fec368 --- /dev/null +++ b/posts/meetups/2016/11/10/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2016/11/15/.

\ No newline at end of file diff --git a/posts/meetups/2016/11/15/index.html b/posts/meetups/2016/11/15/index.html new file mode 100644 index 00000000..08ece350 --- /dev/null +++ b/posts/meetups/2016/11/15/index.html @@ -0,0 +1,9 @@ +Data-driven Front-end Development•Austin JavaScript

Data-driven Front-end Development

Hey happy Veteran's Day and Marine Corps Birthday! AustinJS is going to get together Tuesday November 16, 2016 to hear from Jon Loyens about data-driven front end development ~⭐️for the troops⭐️~

In his own words:

Much has been made of Lean Startups, A/B testing and building data driven cultures. In order to be data-driven you need to have a culture of instrumentation and measurement, but building out the pipelines, client side instrumentation and an analytics warehouse from the ground up can be tedious, hard and time-consuming.

To address this problem, I’ll share a roadmap to successfully evolving a web analytics pipeline that starts by leveraging third party and open source tools for speed and time to market, but is still robust enough to evolve to owning your own warehouse. For context, I’ll walk through my experiences of introducing A/B testing and building out web analytics integrations at Bazaarvoice, expanding HomeAway’s A/B testing program to nearly 1000 tests a year, and now helping to architect data.world’s analytics pipeline.

  • Do’s and Don’ts for front-end instrumentation:
    • Do use exception track (Sentry) as well as event tracking
    • Don’t use a general purpose tag manager
    • Do leverage third party tools along the way
    • Do plan to own your analytics stack eventually
    • Don’t give away all your data
    • Don’t believe the ‘one line of JS’ hype/No silver bullet
    • Do provide a way for your business team to experiment with tooling
    • Do be explicit
    • Do keep allocation and bucketing in mind
  • Tracking all the things vs. tracking the important things
  • How our front end tech stack enables all this
Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Speaker

Jon Loyens

Jon Loyens

Chief Product Officer at data.world

Sponsor

Austin JavaScript is sponsored this month by Frog Design. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/01/09/index.html b/posts/meetups/2017/01/09/index.html new file mode 100644 index 00000000..aa3ac269 --- /dev/null +++ b/posts/meetups/2017/01/09/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2017/01/17/.

\ No newline at end of file diff --git a/posts/meetups/2017/01/17/index.html b/posts/meetups/2017/01/17/index.html new file mode 100644 index 00000000..0a93fdf8 --- /dev/null +++ b/posts/meetups/2017/01/17/index.html @@ -0,0 +1,11 @@ +Making old electronics new again ...with JavaScript!•Austin JavaScript

Making old electronics new again ...with JavaScript!

Happy New Year everyone! Here's to fresh start. We're kicking the year off in style with a great talk from Rachel Weil!

Rachel will share a selection of personal projects that bring vintage electronics into the 21st century with Node.js and hobbyist microcontrollers. She’ll also cover some of the basic tools and approaches to getting started with refurbishing, refitting, and reworking old game consoles, computers, and digital toys.

Rachel's Ballie Bear Video Arcade installation

In other big news, Spredfast is now the official location for AustinJS! The Spredfast team has always been kind to share their ~*luxurious*~ downtown space with us, so we look forward to making more memories going forward. Thanks Spredfast!

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Rachel Weil

Rachel Weil

Sponsor

Austin JavaScript is sponsored this month by data.world. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/02/13/index.html b/posts/meetups/2017/02/13/index.html new file mode 100644 index 00000000..22d0db96 --- /dev/null +++ b/posts/meetups/2017/02/13/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2017/02/21/.

\ No newline at end of file diff --git a/posts/meetups/2017/02/21/index.html b/posts/meetups/2017/02/21/index.html new file mode 100644 index 00000000..30a45719 --- /dev/null +++ b/posts/meetups/2017/02/21/index.html @@ -0,0 +1,11 @@ +Anton Astashov on immutability•Austin JavaScript

Anton Astashov on immutability

What are immutable data structures? Why would you want to prevent objects from changing? Why not just Object.freeze()?

These are great questions for smart people, so you should come listen to Anton talk about what he'd like to see change in the world of immutable JavaScript (you… you see what I did there?).

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Anton Astashov

Anton Astashov

Sponsor

Austin JavaScript is sponsored this month by Mozilla. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Download Firefox and celebrate the open Web!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/03/13/index.html b/posts/meetups/2017/03/13/index.html new file mode 100644 index 00000000..3242c16b --- /dev/null +++ b/posts/meetups/2017/03/13/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2017/03/21/.

\ No newline at end of file diff --git a/posts/meetups/2017/03/21/index.html b/posts/meetups/2017/03/21/index.html new file mode 100644 index 00000000..77342f8b --- /dev/null +++ b/posts/meetups/2017/03/21/index.html @@ -0,0 +1,9 @@ +Intro to WebAssembly•Austin JavaScript

Intro to WebAssembly

WebAssembly is fast. It’s being called “the future of the web”. Its speed and potential have major browser vendors working together to make it a reality. And it’s on its way — the MVP hit multiple browsers in October of last year.

But what makes it fast? Starting from the basics, this talk will walk you through what WebAssembly is, and then why it’s fast.

Get your burning questions ready! We'll have some super special swag for the best questions.

Make sure to do Mozilla a solid and [RSVP at their meetup page](https://www.meetup.com/Mozilla-Developer-Roadshow/events/237760047/)!

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Lin Clark

Lin Clark

Luke Wagner

Luke Wagner

Sponsor

Austin JavaScript is sponsored this month by RetailMeNot. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/04/18/index.html b/posts/meetups/2017/04/18/index.html new file mode 100644 index 00000000..41c7f74b --- /dev/null +++ b/posts/meetups/2017/04/18/index.html @@ -0,0 +1,9 @@ +Chuck always wins•Austin JavaScript

Chuck always wins

What up team we got a meetup tonight! Tonight we're going to talk about testing your code. We figured it's been almost 6 years since we last talked about TDD, which means the ecosystem has been through ~11 different testing frameworks, so we might as well get back into the subject since QUALITY IS EVERYONE'S JOB ZERO.

Mark Sims is coming to town to tell us about his experiences with testing and walk us through testing an app called Deathmatch that needs to be sure Chuck always wins.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Mark Sims

Mark Sims

Architect at @projekt202

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/06/20/index.html b/posts/meetups/2017/06/20/index.html new file mode 100644 index 00000000..f186a2f0 --- /dev/null +++ b/posts/meetups/2017/06/20/index.html @@ -0,0 +1,13 @@ +Meep! AustinJS is BACK! Meep Meep!•Austin JavaScript

Meep! AustinJS is BACK! Meep Meep!

Here come dat beaker!

Beaker

Hey friends! AustinJS is back with an exciting dual talk from Austin's own Tara Vancil and Paul Frazee about their project, [Beaker Browser][beaker], an experimental web browser with builtin hosting and p2p web protocols.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Tara Vancil

Tara Vancil

Paul Frazee

Paul Frazee

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/07/14/index.html b/posts/meetups/2017/07/14/index.html new file mode 100644 index 00000000..7217d3b1 --- /dev/null +++ b/posts/meetups/2017/07/14/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2017/07/18/.

\ No newline at end of file diff --git a/posts/meetups/2017/07/18/index.html b/posts/meetups/2017/07/18/index.html new file mode 100644 index 00000000..bd810aa2 --- /dev/null +++ b/posts/meetups/2017/07/18/index.html @@ -0,0 +1,9 @@ +Perfecting Perf•Austin JavaScript

Perfecting Perf

It's too hot for hair out there, so we've asked Lon Ingram to come talk to us about making websites fast as ⚡ (kung fu fighting, etc). Join us Tuesday July 19, 2017 and learn what it takes to appease our search engine overlords!

Talk summary

With the rise of the mobile web, speed has become crucial to success. Users won't wait around for slow-loading pages and search engines are now punishing sluggish sites. There's a wealth of ideas out there for cranking up performance, but how do you know where to start? What if you work for days to ship an optimization that doesn't really pay off? In this talk, you'll learn how to experiment and fail fast. You'll find out how to quickly and rigorously assess your optimization ideas with open source tools, and how to share your results so that others can replicate your findings.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Lon Ingram

Lon Ingram

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/08/15/index.html b/posts/meetups/2017/08/15/index.html new file mode 100644 index 00000000..09725225 --- /dev/null +++ b/posts/meetups/2017/08/15/index.html @@ -0,0 +1,9 @@ +Babble? Baebull?•Austin JavaScript

Babble? Baebull?

Ever wonder how to pronounce Babel? Join us Tuesday August 16, 2017 to find out! Austin's own Andrew Levine will teach us how to write Babel plugins.

Talk summary

Andrew is going to give an intro to writing Babel plugins. He'll start with a very high level summary of how Babel works, and then dive into the Plugin APIs and several examples of real world plugins to write.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Andrew Levine

Andrew Levine

Frontend Architect at Magento

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/09/19/index.html b/posts/meetups/2017/09/19/index.html new file mode 100644 index 00000000..31dddb6c --- /dev/null +++ b/posts/meetups/2017/09/19/index.html @@ -0,0 +1,11 @@ +Not so locally sourced JavaScript•Austin JavaScript

Not so locally sourced JavaScript

Source maps, huh, yeah. What are they good for? Absolutely... some things.

We have an extra special treat this month thanks to our gracious hosts and good friends at Spredfast: Ben Vinegar is coming all the way from "San Francisco" to tell us everything about how source maps work. Join us Tuesday September 20, 2017 for a special Bae Area AustinJS!

Talk summary

You may already be familiar with source maps. They let you debug your original, unminified, and untranspiled code in the browser. But have you ever wondered how they actually work? Ben will take a deep dive into the source map format to see what’s under the hood, exploring source map generation tools, parsers, and how to manipulate source maps directly for fun and profit.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Ben Vinegar

Ben Vinegar

VP Engineering at @getsentry

Sponsor

Austin JavaScript is sponsored this month by Spredfast. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.

(Located in the Silicon Labs building on Colorado Street.)

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/10/17/index.html b/posts/meetups/2017/10/17/index.html new file mode 100644 index 00000000..07273dda --- /dev/null +++ b/posts/meetups/2017/10/17/index.html @@ -0,0 +1,9 @@ +How to Start a JavaScript Synthpop Band•Austin JavaScript

How to Start a JavaScript Synthpop Band

Synthesizers! JavaScript! Aleatoricism?? Using an actual analog synthesizer as a guide, Kyle will build a feature-for-feature replica in the browser with the Web Audio API and show how to use JavaScript to overcome a lack of musical training. You'll learn the capabilities and limitations of the Web Audio API, and how it can be used for applications like gaming, WebVR, and 80s retro synthwave. With live coding, live synth playing, and a touch of music theory, what could go wrong?

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

J. Kyle Fagan

J. Kyle Fagan

Sponsor

Austin JavaScript is sponsored this month by eRelevance. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2017/11/13/index.html b/posts/meetups/2017/11/13/index.html new file mode 100644 index 00000000..e534f1a1 --- /dev/null +++ b/posts/meetups/2017/11/13/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2017/11/21/.

\ No newline at end of file diff --git a/posts/meetups/2017/11/21/index.html b/posts/meetups/2017/11/21/index.html new file mode 100644 index 00000000..77e32cd7 --- /dev/null +++ b/posts/meetups/2017/11/21/index.html @@ -0,0 +1,15 @@ +We can't contain our excitement!!!•Austin JavaScript

We can't contain our excitement!!!

We've got Mando Escamilla coming this month to deploy some knowledge on us. Here's some relevant prior art:

In his own words…

DOCKER! CONTAINERS! KUBERNETES! GAAAAH

If all that stuff is confusing or intimidating, don’t panic - we’re here to help. We’ll help you develop a mental model of a kubernetes cluster and what it does, then jump into a demo of how you’d build and deploy a simple javascript application inside a kubernetes cluster. Don’t worry - if we were able to figure this out, you can too.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Mando Escamilla

Mando Escamilla

Sponsor

Austin JavaScript is sponsored this month by PayPal. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/01/16/index.html b/posts/meetups/2018/01/16/index.html new file mode 100644 index 00000000..3f1cc483 --- /dev/null +++ b/posts/meetups/2018/01/16/index.html @@ -0,0 +1,15 @@ +Can we please find some commonjs ground on modules??•Austin JavaScript

Can we please find some commonjs ground on modules??

The January meetup is cancelled due to expected hazardous weather. See y'all in February!

Let's kick off the new year with Bradley Farias, who will deliver a meditation on the seven stages of grief standards development:

From Language Design to TC39 (The JS Language Standards Group)

This talk is a reflection on a lot of discussions that come up when talking about language design and what it means to design for a future that is always bigger than the past. Topics from the past present and future such as ASI, ESM, decorators, and private fields are things that are important to get right if we are stuck with them forever. We can use discussion examples of each of these topics to get a better understanding of why it is so difficult to make things "just work". I will discuss ongoing themes of discussion within TC39 and efforts that are changing how TC39 is viewed.

CANCELLED! WINTER IS COMING. SEEK SHELTER AND COMFORT.

Meetup details
DATE
TIME -
LOCATION undefined
(Check back here or on Twitter for updates.)

Speaker

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/02/20/index.html b/posts/meetups/2018/02/20/index.html new file mode 100644 index 00000000..96c257db --- /dev/null +++ b/posts/meetups/2018/02/20/index.html @@ -0,0 +1,11 @@ +Can we please find some commonjs ground on modules??•Austin JavaScript

Can we please find some commonjs ground on modules??

Let's kick off the new year with Bradley Farias, who will deliver a meditation on the seven stages of grief standards development:

From Language Design to TC39 (The JS Language Standards Group)

This talk is a reflection on a lot of discussions that come up when talking about language design and what it means to design for a future that is always bigger than the past. Topics from the past present and future such as ASI, ESM, decorators, and private fields are things that are important to get right if we are stuck with them forever. We can use discussion examples of each of these topics to get a better understanding of why it is so difficult to make things "just work". I will discuss ongoing themes of discussion within TC39 and efforts that are changing how TC39 is viewed.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Bradley Farias

Bradley Farias

Developer Advocate at GoDaddy

Sponsor

Austin JavaScript is sponsored this month by Indeed. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/05/14/index.html b/posts/meetups/2018/05/14/index.html new file mode 100644 index 00000000..675fd955 --- /dev/null +++ b/posts/meetups/2018/05/14/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2018/05/15/.

\ No newline at end of file diff --git a/posts/meetups/2018/05/15/index.html b/posts/meetups/2018/05/15/index.html new file mode 100644 index 00000000..0045ced0 --- /dev/null +++ b/posts/meetups/2018/05/15/index.html @@ -0,0 +1,17 @@ +🥤🍾🍷🍻🍹🍼 bevera.js at Gingerman ☕️🥛🥃🍸🍺🍶•Austin JavaScript

🥤🍾🍷🍻🍹🍼 bevera.js at Gingerman ☕️🥛🥃🍸🍺🍶

Come out tomorrow May 16, 2018, for some bevera.js at the Gingerman! Topics of discussion may include:

  • The open web
  • JorbaScrump
  • What drink you and or your conversation partner are currently imbibing upon
  • "Oh hey how have you been?"
  • Giving Lawn a hard time
  • Movies watched recently
  • Funny tweets
  • Ridiculous things your kid did or said
  • Ridiculous things your dog did or said
  • Dank memes
  • And many more!

Topics of discussion will of course not include violations of our code of conduct. If you see anyone fall short of being excellent to one another, please let them or an organizer know!

Meetup details
DATE
TIME -
LOCATION The Gingerman Austin (301 Lavaca Street, Austin, TX 78701)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at The Gingerman Austin (301 Lavaca Street, Austin, TX 78701).

Speaker

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/06/19/index.html b/posts/meetups/2018/06/19/index.html new file mode 100644 index 00000000..41770ec1 --- /dev/null +++ b/posts/meetups/2018/06/19/index.html @@ -0,0 +1,9 @@ +Lessons learned optimizing performance on Mixbook.com•Austin JavaScript

Lessons learned optimizing performance on Mixbook.com

Who is ready to optimize your user's spa experience? Anton is going to tell us the secrets to making your visitors feel pampered in no time flat! Anton will share all the tricks of the trade, from how to improve time to first relaxation to HTTP/2 aromatherapy tips.

Anton has recently been working on optimizing performance for mixbook.com, and he’d like to tell y'all about their experience: what worked and what didn't.

Topics include,

  • how they got rid of all external CSS to avoid blocking network calls
  • how they started inlining some server-side data right into JS bundles and rebuilt/redeployed the app automatically when that data changes
  • how we used webpack with custom loaders to automate all that stuff
  • and more and more :)
Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Anton Astashov

Anton Astashov

Sponsor

Austin JavaScript is sponsored this month by Magento. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/07/16/index.html b/posts/meetups/2018/07/16/index.html new file mode 100644 index 00000000..bf472a31 --- /dev/null +++ b/posts/meetups/2018/07/16/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2018/07/17/.

\ No newline at end of file diff --git a/posts/meetups/2018/07/17/index.html b/posts/meetups/2018/07/17/index.html new file mode 100644 index 00000000..65dd315a --- /dev/null +++ b/posts/meetups/2018/07/17/index.html @@ -0,0 +1,9 @@ +Zelda + a11y?•Austin JavaScript

Zelda + a11y?

Accessibility is hard. Oftentimes, it’s difficult to understand what users and assistive technology expect from your markup and designs. Can accessibility be easier to learn? Can it be…fun? In this talk, Dave will approach accessibility the way we might tackle a video game—looking at a handful of common UI patterns like popup, tabs, accordions, and modals; how to test them; and how to defeat them while leveling up your skillset along the way.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Dave Rupert

Dave Rupert

Lead developer at Paravel

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/08/21/index.html b/posts/meetups/2018/08/21/index.html new file mode 100644 index 00000000..56b47816 --- /dev/null +++ b/posts/meetups/2018/08/21/index.html @@ -0,0 +1,9 @@ +What if the simulation is powered by JavaScript? This explains a lot.•Austin JavaScript

What if the simulation is powered by JavaScript? This explains a lot.

Simon has been building browser based simulations such as coldwar.io and ratsofthemaze.com over the past few years, showcasing them at numerous JS Confs and our own TXJS. Since he's in town this week, he's going to give us a casual retrospective on this work and a dive into some of the code.

Special Guest Host

Lon and Andrew are off to JSConf US and Aaron is taking a sabbatical to finish his upcoming definitive book on ConcreteAbstractFactoryAdapterImplementations, so Rebecca Murphey has graciously offered to come out of retirement and host this month's event.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Simon Swain

Simon Swain

Cloud Architect at Silicon Labs

Sponsor

Austin JavaScript is sponsored this month by Indeed. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/09/13/index.html b/posts/meetups/2018/09/13/index.html new file mode 100644 index 00000000..eacc4b0f --- /dev/null +++ b/posts/meetups/2018/09/13/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2018/09/18/.

\ No newline at end of file diff --git a/posts/meetups/2018/09/18/index.html b/posts/meetups/2018/09/18/index.html new file mode 100644 index 00000000..cdf7375a --- /dev/null +++ b/posts/meetups/2018/09/18/index.html @@ -0,0 +1,9 @@ +Bring me a higher function, whoa-oh•Austin JavaScript

Bring me a higher function, whoa-oh

List manipulation is a foundation of programming, and filtering is one of the pillars. Use cases are widespread, from removing outliers from a dataset to applying filters from user interactions. When a list of criteria gets large, however, the code used for these filters can get unruly.

By using and writing higher-order functions, you can write, combine, and manipulate criteria while keeping your JavaScript readable, maintainable, and DRY.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Adam Giese

Adam Giese

Software Engineer at Under Armour, Connected Fitness

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2018/10/16/index.html b/posts/meetups/2018/10/16/index.html new file mode 100644 index 00000000..7f29bf3f --- /dev/null +++ b/posts/meetups/2018/10/16/index.html @@ -0,0 +1,9 @@ +An Event-ful Evening with JavaScript•Austin JavaScript

An Event-ful Evening with JavaScript

Handling events like clicks and keypresses as users interact with your content is essential for any web app. Learn the fundamentals of how events work in JavaScript, including:

  • an introduction to the DOM Event specification
  • how to attach event listeners (there's so many ways!)
  • how event propagation works, what "bubbling" and "capturing" mean, and why you should care
  • the differences between preventDefault, stopPropagation, and return false (and when you should use each one!)

Whether you're just learning JavaScript or are an experienced front-end developer, you'll walk away with a deeper familiarity with events. You'll be able to implement event listeners with confidence and debug with clarity!

This talk is adapted from an Ember.js-specific talk, Deep Dive on Ember Events.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Marie Chatfield

Marie Chatfield

Software engineer at Pingboard

Sponsor

Austin JavaScript is sponsored this month by Indeed. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/01/15/index.html b/posts/meetups/2019/01/15/index.html new file mode 100644 index 00000000..36431fff --- /dev/null +++ b/posts/meetups/2019/01/15/index.html @@ -0,0 +1,9 @@ +Saving CSS Grid Headaches with JavaScript•Austin JavaScript

Saving CSS Grid Headaches with JavaScript

Grid frameworks in CSS help keep a product, department, or even a whole company visually aligned. However, they can be a struggle to maintain while satisfying different experiences’ needs. Thankfully, scripting languages have a knack for keeping everything sane. By creating a new open-source package that generates grid frameworks, we will cover:

  • Abstracting design specs for reusable code
  • Performance vs CSS browser support
  • The flexibility of isomorphic JavaScript packages
Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

James Y Rauhut

James Y Rauhut

Sponsor

Austin JavaScript is sponsored this month by Magento. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/02/19/index.html b/posts/meetups/2019/02/19/index.html new file mode 100644 index 00000000..eef7580f --- /dev/null +++ b/posts/meetups/2019/02/19/index.html @@ -0,0 +1,9 @@ +Why people hate Javascript•Austin JavaScript

Why people hate Javascript

Why do some people hate JavaScript while others bask in its glory? In Stack Overflow's 2018 Survey of over 100,000 developers; JavaScript, HTML, and CSS rank as the top three most used technologies, with 70% of developers stating that they use JavaScript. Next in the list is SQL with 57%.

Not everyone is an expert front-end developer, but it seems that most people at least have to dip their toes.

If you hate JavaScript, I'm going to finally articulate why you know in your heart that this is such a terrible language. For you JavaScript lovers out there, hopefully this sheds some light on why your language of choice is such a steaming pile of 💩.

Let's talk about what we can do about it.

Meetup details
DATE
TIME -
LOCATION Spredfast (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

John Fawcett

John Fawcett

Full-stack Engineer at Cloudflare

Sponsor

Austin JavaScript is sponsored this month by Indeed. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/04/16/index.html b/posts/meetups/2019/04/16/index.html new file mode 100644 index 00000000..3609603f --- /dev/null +++ b/posts/meetups/2019/04/16/index.html @@ -0,0 +1,9 @@ +JavaScript on Microcontrollers•Austin JavaScript

JavaScript on Microcontrollers

Sometimes it's the little things that count - in 2s complement. Come hear about how to program the ESP8266 microcontroller using Espruino and see some fancy rainbow animations on strips of NeoPixels.

Meetup details
DATE
TIME -
LOCATION Khoros (200 West Cesar Chavez Street, Austin, TX 78701, 3rd Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Tim Caswell

Tim Caswell

Principal Architect at Magic Leap

Sponsor

Austin JavaScript is sponsored this month by Magento. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/05/20/index.html b/posts/meetups/2019/05/20/index.html new file mode 100644 index 00000000..0758c7f5 --- /dev/null +++ b/posts/meetups/2019/05/20/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2019/05/21/.

\ No newline at end of file diff --git a/posts/meetups/2019/05/21/index.html b/posts/meetups/2019/05/21/index.html new file mode 100644 index 00000000..333aeee4 --- /dev/null +++ b/posts/meetups/2019/05/21/index.html @@ -0,0 +1,9 @@ +Taking the non- out of non-standard.•Austin JavaScript

Taking the non- out of non-standard.

Come learn about the weird history of the IE event model, what it took to ship window.event (and associated garbage) in Firefox 66, and why we're still talking about this in 2019.

Meetup details
DATE
TIME -
LOCATION Indeed (201 West 5th St, Austin, TX 78701, 18th Floor)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Mike Taylor

Mike Taylor

Engineering Manager at Mozilla

Sponsor

Austin JavaScript is sponsored this month by H-E-B Digital. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/07/15/index.html b/posts/meetups/2019/07/15/index.html new file mode 100644 index 00000000..b24c9385 --- /dev/null +++ b/posts/meetups/2019/07/15/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2019/07/16/.

\ No newline at end of file diff --git a/posts/meetups/2019/07/16/index.html b/posts/meetups/2019/07/16/index.html new file mode 100644 index 00000000..a52152f9 --- /dev/null +++ b/posts/meetups/2019/07/16/index.html @@ -0,0 +1,9 @@ +Web Assembly: What it Is, Why you should care, and what it means for JS•Austin JavaScript

Web Assembly: What it Is, Why you should care, and what it means for JS

Let's talk about a five-year-old tech like it's brand new; which is really what WebAssembly is; it's been around for years but we're only just starting to discover what it can do and how to use it. Kas can say with no hyperbole that this is the next Ajax in terms of importance to browser applications, and in this talk they'll explain why a multi-language web doesn't spell the end of JavaScript but rather a Renaissance for the web.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Kas Perch

Kas Perch

Dev 🥑@cloudflare

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/08/20/index.html b/posts/meetups/2019/08/20/index.html new file mode 100644 index 00000000..ad3744da --- /dev/null +++ b/posts/meetups/2019/08/20/index.html @@ -0,0 +1,9 @@ +Let's Go on a console.log() Safari 🦏•Austin JavaScript

Let's Go on a console.log() Safari 🦏

One of the first things we learn in JavaScript is console.log(). Yet this belies the true complexity of its behavior. What exactly does console.log() do, anyways? (The short answer: it depends!) Adorn your pith and get in the jeep because we're about to explore console.log() and maybe learn a few things about streams, browsers and JavaScript engines along the way!

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Tyler Lane

Tyler Lane

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/10/14/index.html b/posts/meetups/2019/10/14/index.html new file mode 100644 index 00000000..236536aa --- /dev/null +++ b/posts/meetups/2019/10/14/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2019/10/15/.

\ No newline at end of file diff --git a/posts/meetups/2019/10/15/index.html b/posts/meetups/2019/10/15/index.html new file mode 100644 index 00000000..36b87313 --- /dev/null +++ b/posts/meetups/2019/10/15/index.html @@ -0,0 +1,9 @@ +Mosaic: a Platform for Micro-Frontends at Indeed•Austin JavaScript

Mosaic: a Platform for Micro-Frontends at Indeed

Indeed is one of the largest Job Search websites in the world. In order to maintain developer velocity and quality, we’re in the process of dramatically shifting how we build web applications. Historically, we’ve built large monolith applications that have upwards of a hundred contributors, but we’ve found that this approach has limited our ability to iterate, and innovate as quickly as we’d like.

Today, we’re focusing on splitting our monolith applications into smaller, more manageable components. In this talk, I’ll cover in detail how we developed a platform that enables building decoupled, distributed systems that perform and feel like a single application.

We’ve developed a platform that enables the independent deployability of units of user interface units across products and pages. In this talk I’ll describe:

  • The types of problems a decoupled, and distributed frontend solve
  • The individual subsystems of the platform and how those systems fit together
  • How we built, and monitor the system, especially as it grows
  • The tradeoffs, and problems we’ve run into, and how we’ve solved them thus far
  • How to practically, and incrementally adopt this kind of system in your ecosystem
Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Ben Cripps

Ben Cripps

Full Stack Software Engineer at Indeed

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2019/11/18/index.html b/posts/meetups/2019/11/18/index.html new file mode 100644 index 00000000..5a16806c --- /dev/null +++ b/posts/meetups/2019/11/18/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2019/11/19/.

\ No newline at end of file diff --git a/posts/meetups/2019/11/19/index.html b/posts/meetups/2019/11/19/index.html new file mode 100644 index 00000000..0a132087 --- /dev/null +++ b/posts/meetups/2019/11/19/index.html @@ -0,0 +1,9 @@ +DevLaunchers - world's most FUN experiment to help teenagers learn game development!•Austin JavaScript

DevLaunchers - world's most FUN experiment to help teenagers learn game development!

Join us for an introduction to DevLaunchers, an initiative to teach high school students in under-served communities about game development. We'll dive into how we build the website, activities, internal tools and slack event handlers on Cloudflare Workers, CodeSandbox, GitHub Pages and Travis CI.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Chung-Ting Huang

Chung-Ting Huang

Systems Engineer at Cloudflare

Kris Gano

Kris Gano

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2020/02/16/index.html b/posts/meetups/2020/02/16/index.html new file mode 100644 index 00000000..dc228291 --- /dev/null +++ b/posts/meetups/2020/02/16/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2020/02/18/.

\ No newline at end of file diff --git a/posts/meetups/2020/02/18/index.html b/posts/meetups/2020/02/18/index.html new file mode 100644 index 00000000..9fb36636 --- /dev/null +++ b/posts/meetups/2020/02/18/index.html @@ -0,0 +1,9 @@ +Absolute Unit Tests with Jest and Enzyme•Austin JavaScript

Absolute Unit Tests with Jest and Enzyme

Everything you wanted to know about testing React components with Jest and Enzyme Learn what a unit test is, why its useful, and how to test things like: existence of react components, simulated clicks and other events, mocking data, snapshots and more!

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lavaca Street Bar (405 Lavaca Street, Austin, TX 78701).

Speaker

Nick Gottschlich

Nick Gottschlich

Software Engineer at Procore Technologies

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2023/06/20/index.html b/posts/meetups/2023/06/20/index.html new file mode 100644 index 00000000..b7c43f19 --- /dev/null +++ b/posts/meetups/2023/06/20/index.html @@ -0,0 +1,9 @@ +Building Semi-hosted SaaS•Austin JavaScript

Building Semi-hosted SaaS

Hosted software as a service is great, but can give the provider too much leverage over your data and the software itself. Meanwhile, self-hosted software, like many open source solutions, takes away the key value proposition of SaaS. Luckily, "semi-hosted" is a model that provides the best of both worlds and enables customization and extensibility not usually possible. I want to talk about this pattern and show what you can do with it by demonstrating a semi-hosted personal organizer I've been building with Deno and Mithril.js called Treestar.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Zilker Brewing Company and Taproom (1701 E 6th St, Austin, TX 78702).

Speaker

Jeff Lindsay

Jeff Lindsay

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2023/07/18/index.html b/posts/meetups/2023/07/18/index.html new file mode 100644 index 00000000..bb8c76be --- /dev/null +++ b/posts/meetups/2023/07/18/index.html @@ -0,0 +1,9 @@ +HTML with Superpowers: An introduction to Web Components•Austin JavaScript

HTML with Superpowers: An introduction to Web Components

A short dive into web components taking a look at what they are, how they work, what problems they solve, what problems they have, and why you may want to use them on your next project.

Dave Rupert is co-founder of Luro, a tool for tracking component usage and insights. He also co-hosts Shoptalk, a web design and development podcast with Chris Coyier from CSS-Tricks.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Dave Rupert

Dave Rupert

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2023/08/15/index.html b/posts/meetups/2023/08/15/index.html new file mode 100644 index 00000000..9befc01f --- /dev/null +++ b/posts/meetups/2023/08/15/index.html @@ -0,0 +1,9 @@ +4 or more package managers, what's the worst that could happen?•Austin JavaScript

4 or more package managers, what's the worst that could happen?

JavaScript has a horribly rich history of writing package managers with none fully reigning as the final winner in a perpetual war for popularity and utility. Let's cover some of their differences, that actually end up with some fun surprises about nuances in how they work along the way!

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Bradley Farias

Bradley Farias

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2023/09/19/index.html b/posts/meetups/2023/09/19/index.html new file mode 100644 index 00000000..44976f27 --- /dev/null +++ b/posts/meetups/2023/09/19/index.html @@ -0,0 +1,13 @@ +The Rise of Structured Concurrency•Austin JavaScript

The Rise of Structured Concurrency

Rule 1. Highly concurrent programs are hard.

Rule 2. Every non-trivial program is highly concurrent.

JavaScript gives us some primitives to express asynchrony like promises, and async functions, but unfortunately they do not guarantee correctness. In fact far from it. Most async code is full of edge-cases and foot guns that never reveal themselves until you’re at scale. In this talk, we’ll put names to all these edge-cases and footguns so that you can recognize them instantly when they happen to you. After showing the ills, we’ll talk about the the cure: an exciting new way of thinking about our programs called Structured Concurrency. Language communities from Go, and Rust to Swift and Java, are all ablaze with talk of it, so whether you’ve explored this topic before or this is the first you’ve heard of it, you won’t want to miss this talk, because in ten years time, it will be the norm and we’ll all wonder how we ever did without it.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Meetup slides

Speaker

Charles Lowell

Charles Lowell

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2023/10/17/index.html b/posts/meetups/2023/10/17/index.html new file mode 100644 index 00000000..9bb98098 --- /dev/null +++ b/posts/meetups/2023/10/17/index.html @@ -0,0 +1,11 @@ +Native Mobile Apps with Vanilla JavaScript•Austin JavaScript

Native Mobile Apps with Vanilla JavaScript

Build native mobile apps in JavaScript! Just regular JavaScript without any mobile frameworks.

This can be a great solution if you’re a web developer and JavaScript is your bread and butter. Apps built this way work fast, are quick to deploy, and don’t have to pass App Store reviews every time! So come and learn about the pros and cons of this approach, and what it takes to build a JS native mobile app.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Anton Astashov

Anton Astashov

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/01/16/index.html b/posts/meetups/2024/01/16/index.html new file mode 100644 index 00000000..f2f4eed3 --- /dev/null +++ b/posts/meetups/2024/01/16/index.html @@ -0,0 +1,9 @@ +Remix: Teaching Young Dogs new Tricks•Austin JavaScript

Remix: Teaching Young Dogs new Tricks

Remix is a full stack web framework that lets you focus on the user interface and work back through web standards to deliver a fast, slick, and resilient user experience. In this talk Brooks will show you how Remix makes it easy to iteratively build solid, engaging, and user-centric experiences using the basic building blocks of the web.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Brooks Lybrand

Brooks Lybrand

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/02/20/index.html b/posts/meetups/2024/02/20/index.html new file mode 100644 index 00000000..1580d18c --- /dev/null +++ b/posts/meetups/2024/02/20/index.html @@ -0,0 +1,9 @@ +Programmable OS Command Palettes•Austin JavaScript

Programmable OS Command Palettes

Command palettes in applications are great — they spare us from reaching for the mouse to go spelunking through menus. Raycast and Script Kit are two delightful tools that are akin to command palettes, accessible from within any application, and programmable with JavaScript! Come, see what's possible, and feel empowered to start building out your own OS command palette!

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Meetup slides

Speaker

Kevin Kipp

Kevin Kipp

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/03/19/index.html b/posts/meetups/2024/03/19/index.html new file mode 100644 index 00000000..23c54144 --- /dev/null +++ b/posts/meetups/2024/03/19/index.html @@ -0,0 +1,9 @@ +Universal React with Expo Router•Austin JavaScript

Universal React with Expo Router

We’ve all heard of the React motto “write once, run everywhere” but what does this look like in reality? Learn how Expo Router––the universal React framework––is making it possible to reuse complex app development patterns like routing, data fetching, and rendering, across web and native platforms.

I’m the creator of Expo Router, and manage the dev tools/web team at Expo. Bring your most complicated React/React Native questions and I’ll try my best to answer them all.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Evan Bacon

Evan Bacon

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/04/16/index.html b/posts/meetups/2024/04/16/index.html new file mode 100644 index 00000000..c4aded5e --- /dev/null +++ b/posts/meetups/2024/04/16/index.html @@ -0,0 +1,9 @@ +Lightning Talks•Austin JavaScript

Lightning Talks

This month, we are opening the podium to the community, inviting all to take the microphone for a few minutes to show off something that you have learned or discovered recently that has made your life as a JS dev easier! All who are brave enough to present will be rewarded with newly minted AustinJS stickers.

Lightning talks:

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Multiple

Multiple

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/05/21/index.html b/posts/meetups/2024/05/21/index.html new file mode 100644 index 00000000..8cbf94af --- /dev/null +++ b/posts/meetups/2024/05/21/index.html @@ -0,0 +1,9 @@ +Making Mobile And Desktop Apps From Your JS Frontend With Tauri•Austin JavaScript

Making Mobile And Desktop Apps From Your JS Frontend With Tauri

Tauri is a relatively recent, open-source (FLOSS), framework that lets you re-purpose your JS frontend as both a desktop (Mac/Win/Linux) and mobile (iOS/Android) application. It's easy to use and creates small, highly performant, executables.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Jason Levitt

Jason Levitt

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/06/18/index.html b/posts/meetups/2024/06/18/index.html new file mode 100644 index 00000000..f2475fe8 --- /dev/null +++ b/posts/meetups/2024/06/18/index.html @@ -0,0 +1,9 @@ +JavaScript's Quirks: Understanding the 'Why' Behind the 'What'•Austin JavaScript

JavaScript's Quirks: Understanding the 'Why' Behind the 'What'

JavaScript is a language often mocked for its quirky behaviors, like how 3 + '3' equals '33' or how 0.1 + 0.2 doesn't quite equal 0.3. These peculiarities can be confusing and frustrating, especially for beginners. However, most of these behaviors aren't random or senseless—they stem from historical decisions, compromises, and attempts to handle various use cases. In this talk, we'll explore some of JavaScript's most notorious quirks, exploring their reasoning. We'll cover topics like type coercion, truthy/falsy values, equality comparisons, variable scope and hoisting, the typeof operator, and prototypal inheritance. If you understand the 'why' behind the 'what,' you will be better equipped to write clean, predictable JavaScript code and avoid common pitfalls. Whether you're a JavaScript beginner or an experienced developer, you'll walk away with valuable insights into the language's inner workings.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

David Bowman

David Bowman

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/07/16/index.html b/posts/meetups/2024/07/16/index.html new file mode 100644 index 00000000..2e5288d2 --- /dev/null +++ b/posts/meetups/2024/07/16/index.html @@ -0,0 +1,9 @@ +Getting Started with Passkeys and WebAuthn•Austin JavaScript

Getting Started with Passkeys and WebAuthn

Passwords are vulnerable and frustrating for users. Passkeys promise a seamless and secure authentication future. But understanding the concepts and implementing them into your web application can feel daunting.

In this talk, we'll break down the fundamentals of passkeys, including the WebAuthn specification and the benefits they provide. You'll learn how to set up a simple WebAuthn server, handle registration and authentication flows, and navigate the practical aspects of implementing passkeys in your application. We will cover just enough ground for you to get started and lay out a passkey foundation to be built upon.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Lucas Castro

Lucas Castro

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/08/20/index.html b/posts/meetups/2024/08/20/index.html new file mode 100644 index 00000000..991997ee --- /dev/null +++ b/posts/meetups/2024/08/20/index.html @@ -0,0 +1,11 @@ +Contorted Frameworks: Resolving the Tension Between Static and Dynamic UIs•Austin JavaScript

Contorted Frameworks: Resolving the Tension Between Static and Dynamic UIs

Or: "How a Rails developer read the docs, achieved enlightenment, and learned to love React server components"

An exploration of the pain and oddities of how traditional web frameworks attempt to handle high-interactivity dynamic UIs, and how modern front-end frameworks similarly introduce complexity to support low-interactivity static UIs.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Nicholas Mullen

Nicholas Mullen

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/09/17/index.html b/posts/meetups/2024/09/17/index.html new file mode 100644 index 00000000..3ddb0e0a --- /dev/null +++ b/posts/meetups/2024/09/17/index.html @@ -0,0 +1,9 @@ +Building Robust Applications with Effect: Mastering Return Types and Monads•Austin JavaScript

Building Robust Applications with Effect: Mastering Return Types and Monads

Effect is a powerful library that enhances your TypeScript projects by focusing on robust return types, error handling, query retries, interruption management, and observability. With Effect, you can ensure that your functions return consistent and predictable types, making your code more reliable and easier to maintain. It also encourages treating errors as first-class citizens, allowing for graceful error handling and recovery. Additionally, Effect provides mechanisms for retrying queries and managing interruptions, ensuring that your application remains resilient in various scenarios. Finally, its observability features help you monitor and debug your application more effectively. Now, you can take your todo application to the next level and impress everyone with your overengineered masterpiece.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

David Bowman

David Bowman

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/10/15/index.html b/posts/meetups/2024/10/15/index.html new file mode 100644 index 00000000..20faf3ba --- /dev/null +++ b/posts/meetups/2024/10/15/index.html @@ -0,0 +1,9 @@ +Making real-time easier than ever with Prisma Pulse•Austin JavaScript

Making real-time easier than ever with Prisma Pulse

When starting on a new web, fullstack project, developers are spoiled for choice from the many frameworks and services to choose from. For real-time or near real-time apps, there's an even more complicated world to navigate. Instead, what if you could use web APIs and simple to integrate services to power any real-time app? Join Jon as he guides you through everything you might need to create a chat room (spoiler: it's less than you might think!)

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Jon Harrell

Jon Harrell

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2024/12/06/index.html b/posts/meetups/2024/12/06/index.html new file mode 100644 index 00000000..c05bcfc2 --- /dev/null +++ b/posts/meetups/2024/12/06/index.html @@ -0,0 +1,9 @@ +Holiday Party•Austin JavaScript

Holiday Party

The holiday party was a blast! We introduced our new Austin JavaScript shirts for the first time, and gave them to the winning table members of the Web Trivia game we played. Plus, some tried out our new battledecks, where each speaker improvised the topic and content based on what slides popped up on the screen. They all did great, and were awarded a shirt as well.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

null

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2025/01/29/index.html b/posts/meetups/2025/01/29/index.html new file mode 100644 index 00000000..2c3f81d4 --- /dev/null +++ b/posts/meetups/2025/01/29/index.html @@ -0,0 +1,9 @@ +Cloudflare for Web Dev•Austin JavaScript

Cloudflare for Web Dev

Cloudflare offers a cheap and easy suite of tools for developers to build full stack web applications. In this talk, Collier will show how to build and deploy a full stack web app on Cloudflare, covering hosting, storage, databases, background jobs and more.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Afterwards, the discussion carries on at Lazarus Brewing Co. (1902 E 6th St, Austin, TX 78702).

Speaker

Collier King

Collier King

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2025/02/18/index.html b/posts/meetups/2025/02/18/index.html new file mode 100644 index 00000000..dfa3f8a5 --- /dev/null +++ b/posts/meetups/2025/02/18/index.html @@ -0,0 +1,9 @@ +Simplifying React App Login•Austin JavaScript

Simplifying React App Login

We will focus on overcoming challenges in implementing secure and efficient login processes for React applications. The session covers basic login functionalities, integrating with external identity providers (IDPs), and advanced use cases like Single Sign-On (SSO), Multi-Factor Authentication (MFA), and social login options. Developers will learn how to streamline user authentication using the Asgardeo React SDK, enabling OpenID Connect (OIDC) compliance, token management, and best security practices.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Speaker

Harsha Thirimanna

Harsha Thirimanna

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2025/04/15/index.html b/posts/meetups/2025/04/15/index.html new file mode 100644 index 00000000..18040d73 --- /dev/null +++ b/posts/meetups/2025/04/15/index.html @@ -0,0 +1,9 @@ +Effect-TS: Engineering Reliable Open Source Systems•Austin JavaScript

Effect-TS: Engineering Reliable Open Source Systems

We'll explore the architectural patterns and practices for developing enterprise-ready open-source software using Effect-TS. The session will demonstrate how functional programming principles, through Effect-TS, provide robust solutions for complex enterprise requirements, including error handling, observability, and concurrency management.

Attendees will learn practical techniques for creating specialized effects, designing comprehensive error types, and implementing generation functions that enhance maintainability and scalability. The lecture will showcase these concepts through a HIPAA-compliant medical application lens, illustrating how Effect-TS elegantly addresses the stringent requirements of healthcare software—including audit logging, secure data handling, and regulatory compliance. The session will also cover advanced topics such as building observation services for telemetry and leveraging fiber-based concurrency to create responsive applications that maintain data integrity under load. By examining these enterprise patterns in Effect-TS, developers will gain valuable insights applicable to any industry requiring high reliability, security, and maintainability in their open-source software projects.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Speaker

David Bowman

David Bowman

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2025/05/20/index.html b/posts/meetups/2025/05/20/index.html new file mode 100644 index 00000000..7b31ab87 --- /dev/null +++ b/posts/meetups/2025/05/20/index.html @@ -0,0 +1,9 @@ +Vibe Coding a Tamagotchi in Next.js•Austin JavaScript

Vibe Coding a Tamagotchi in Next.js

Ever wanted to build something just for the vibes? In this talk, I’ll walk through how I prototyped a Tamagotchi-style app using Next.js and TailwindCSS — not for a client, not for a launch, but just to explore joy in coding. We'll cover core frontend logic (state management, time-based updates), CSS animations, and light gamification. The goal isn’t perfection — it's flow, play, and remembering why we started coding in the first place. Expect code demos, a few laughs, and maybe even a virtual pet revival.

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Speaker

Andrew Njoo

Andrew Njoo

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/2025/06/17/index.html b/posts/meetups/2025/06/17/index.html new file mode 100644 index 00000000..77678cf8 --- /dev/null +++ b/posts/meetups/2025/06/17/index.html @@ -0,0 +1,9 @@ +Universal Tools For AI•Austin JavaScript

Universal Tools For AI

Agents are the coolest trend but what are they made of? Let's take a look at what is going on behind the scenes and explore concepts like Model Context Protocol, Function Calling and APIs

Meetup details
DATE
TIME -
LOCATION Cloudflare Austin (405 Comal St. Austin, TX 78702)
(Check back here or on Twitter for updates.)

Speaker

Orlando Kalossakas

Orlando Kalossakas

Sponsor

Austin JavaScript is sponsored this month by Cloudflare Austin. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their job opportunities!

Edit this page

\ No newline at end of file diff --git a/posts/meetups/index.html b/posts/meetups/index.html new file mode 100644 index 00000000..30168f77 --- /dev/null +++ b/posts/meetups/index.html @@ -0,0 +1 @@ +Meetup archive•Austin JavaScript

Meetup archive

An archive of past Austin JavaScript meetups.

Edit this page

\ No newline at end of file diff --git a/posts/new-location-for-the-austin-javascript-meetup/index.html b/posts/new-location-for-the-austin-javascript-meetup/index.html new file mode 100644 index 00000000..76adbe60 --- /dev/null +++ b/posts/new-location-for-the-austin-javascript-meetup/index.html @@ -0,0 +1,11 @@ +New Location for the Austin JavaScript Meetup•Austin JavaScript

New Location for the Austin JavaScript Meetup

After 14 solid months of usage at Virtue Group's stunning office, we are moving our location to the crossroads of downtown Austin, namely 6th and Congress. The new meeting location will be at frog design's Austin studio located at 101 West 6th Street, 2nd Floor of the historical Scarborough Building.

Meeting will start promptly at 7:30 PM and will be wrapping up at 9pm. Afterwards, the conversations carry on the Gingerman, only 3 blocks away.

Edit this page

\ No newline at end of file diff --git a/posts/no-october-meetup/index.html b/posts/no-october-meetup/index.html new file mode 100644 index 00000000..afa5bd96 --- /dev/null +++ b/posts/no-october-meetup/index.html @@ -0,0 +1,11 @@ +No October Meetup•Austin JavaScript

No October Meetup

Yes, we are just as saddened just as much as you are, but unfortunately all potential hosts for the meetup are unavailable or out of town!  We do have a speaker with some interesting content on Sencha Touch and Phonegap, but it will have to wait until November.

Stay tuned for next month's meetup details and be sure to follow us on Twitter:  @austinjs.

Edit this page

\ No newline at end of file diff --git a/purgecss.config.js b/purgecss.config.js deleted file mode 100644 index c5783001..00000000 --- a/purgecss.config.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - css: ['_site/assets/css/main.css'], - content: [ - '_site/index.html', - '_site/about/index.html', - '_site/code-of-conduct/index.html', - '_site/contributing/index.html', - '_site/posts/index.html', - '_site/posts/meetups/index.html', - '_site/posts/meetups/2020/**/*.html', - ], - output: '_site/assets/css/main.css', -}; diff --git a/redirects.liquid b/redirects.liquid deleted file mode 100644 index fff04add..00000000 --- a/redirects.liquid +++ /dev/null @@ -1,38 +0,0 @@ ---- -pagination: - data: redirects - size: 1 - alias: redirect -permalink: "{{ redirect.permalink.old }}" ---- -{# - This is the closest we can get to 301 redirects in GitHub Pages. - - This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds - (change that delay if you wish the page to appear for longer, though if you do, note that the - template is basic and un-styled). The template also sets the canonical link to the - new page location and a link in the body, in case the browser doesn't do meta refresh. - - This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) - from `_data/redirects.json`. Note that there is additional old/new file mapping in - that file that may be removed if it's not needed. - - The obvious downside to this approach is that files are created in the root or posts - directory for each of the old permalinks. At worst, this may result in namespace collisions - should a future filename/permalink match one of the redirect permalinks. Otherwise, - this approach merely clutters up the output directory with "old" files. - - We may want to sunset this approach as traffic to the old pages drops off to a certain level. -#} - - - - - - - - -

Redirecting

-

This page been moved to {{ redirect.permalink.new | url }}.

- - diff --git a/september-16th-meetup/index.html b/september-16th-meetup/index.html new file mode 100644 index 00000000..f6668a63 --- /dev/null +++ b/september-16th-meetup/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2014/09/16/.

\ No newline at end of file diff --git a/september-2012-austin-js-meetup-details-announced/index.html b/september-2012-austin-js-meetup-details-announced/index.html new file mode 100644 index 00000000..57243c7d --- /dev/null +++ b/september-2012-austin-js-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2012/09/18/.

\ No newline at end of file diff --git a/september-meetup-details-announced-2011/index.html b/september-meetup-details-announced-2011/index.html new file mode 100644 index 00000000..13d32936 --- /dev/null +++ b/september-meetup-details-announced-2011/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2011/09/20/.

\ No newline at end of file diff --git a/september-meetup-details-announced/index.html b/september-meetup-details-announced/index.html new file mode 100644 index 00000000..3a9dde4c --- /dev/null +++ b/september-meetup-details-announced/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/meetups/2010/09/21/.

\ No newline at end of file diff --git a/sitemap.njk b/sitemap.njk deleted file mode 100644 index d8c78fd9..00000000 --- a/sitemap.njk +++ /dev/null @@ -1,16 +0,0 @@ ---- -permalink: sitemap.xml -eleventyExcludeFromCollections: true -reference: https://www.sitemaps.org/protocol.html ---- - - - {%- for item in collections.all | reverse %} - {%- if item.data.layout %} - - {{ site.url }}{{ item.url }} - {{ (item.dateModified if item.dateModified else item.date).toISOString() }} - - {%- endif %} - {%- endfor %} - diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..a986a4f2 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,527 @@ + + + + https://austinjavascript.com/posts/meetups/ + 2025-06-18T15:21:12.164Z + + + https://austinjavascript.com/posts/ + 2025-06-18T15:21:12.164Z + + + https://austinjavascript.com/ + 2025-06-18T15:21:12.162Z + + + https://austinjavascript.com/contributing/ + 2025-06-18T15:21:12.162Z + + + https://austinjavascript.com/code-of-conduct/ + 2025-06-18T15:21:12.162Z + + + https://austinjavascript.com/about/ + 2025-06-18T15:21:12.160Z + + + https://austinjavascript.com/posts/meetups/2025/06/17/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2025/05/20/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2025/04/15/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2025/02/18/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2025/01/29/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/12/06/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/10/15/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/09/17/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/08/20/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/07/16/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/06/18/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/05/21/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2024/04/16/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2024/03/19/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2024/02/20/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2024/01/16/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2023/10/17/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2023/09/19/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2023/08/15/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2023/07/18/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2023/06/20/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2020/02/18/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/11/19/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/10/15/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/08/20/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/07/16/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/05/21/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/04/16/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/02/19/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2019/01/15/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/10/16/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/09/18/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/08/21/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/07/17/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/06/19/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/05/15/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/02/20/ + 2025-06-18T15:21:12.158Z + + + https://austinjavascript.com/posts/meetups/2018/01/16/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/11/21/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/10/17/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/09/19/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/08/15/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/07/18/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/06/20/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/04/18/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/03/21/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/02/21/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2017/01/17/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/11/15/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/10/18/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/09/20/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/08/16/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/07/19/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/06/21/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/05/17/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/04/19/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/02/16/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2016/01/19/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2015/10/20/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2015/09/15/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2015/08/18/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2015/07/21/ + 2025-06-18T15:21:12.157Z + + + https://austinjavascript.com/posts/meetups/2015/06/16/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2015/05/19/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2015/04/21/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2015/01/20/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/austin-web-bash-2014/ + 2025-06-18T15:21:12.160Z + + + https://austinjavascript.com/posts/meetups/2014/10/21/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/09/16/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/08/26/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/07/15/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/06/17/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/05/20/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/04/15/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/02/18/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2014/01/21/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2013/11/19/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2013/10/15/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2013/07/16/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2013/06/18/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2013/05/21/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2013/02/19/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2013/01/15/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2012/11/19/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2012/10/16/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2012/09/18/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2012/08/21/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2012/07/17/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2012/06/19/ + 2025-06-18T15:21:12.156Z + + + https://austinjavascript.com/posts/meetups/2012/05/15/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2012/04/17/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/2012-austinjs-sxsw-party-wrapup/ + 2025-06-18T15:21:12.160Z + + + https://austinjavascript.com/posts/2012-austinjs-sxsw-3-year-anniversary-party/ + 2025-06-18T15:21:12.160Z + + + https://austinjavascript.com/posts/meetups/2012/02/21/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2012/01/17/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/austin-web-bash-2011/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2011/11/15/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/no-october-meetup/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2011/09/20/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/compasslearning-is-hiring/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2011/08/16/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2011/07/19/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2011/06/21/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2011/05/17/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2011/04/19/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/2011-austin-javascript-sxsw-party-wrapup/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/austin-js-sxsw-party-and-devunplugged/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/2011-austin-javascript-sxsw-party-poster/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/austin-javascript-2011-sxsw-party/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2011/02/15/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2011/01/18/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/austin-web-community-holiday-bash/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/december-open-bar-happy-hour-sponsored-by-teksystems/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2010/11/16/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2010/10/19/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2010/09/21/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/austin-javascript-email-list/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2010/08/17/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2010/07/20/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/new-location-for-the-austin-javascript-meetup/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2010/06/15/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2010/04/20/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/austin-javascript-sxswi-happy-hour-free-beer-free-food-free-prizes/ + 2025-06-18T15:21:12.159Z + + + https://austinjavascript.com/posts/meetups/2010/02/16/ + 2025-06-18T15:21:12.155Z + + + https://austinjavascript.com/posts/meetups/2010/01/19/ + 2025-06-18T15:21:12.155Z + + diff --git a/special-guest-added-for-april-meetup/index.html b/special-guest-added-for-april-meetup/index.html new file mode 100644 index 00000000..d5bfcf80 --- /dev/null +++ b/special-guest-added-for-april-meetup/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/special-guest-added-for-april-meetup/.

\ No newline at end of file diff --git a/tonights-meetup-location-changed/index.html b/tonights-meetup-location-changed/index.html new file mode 100644 index 00000000..9436a04d --- /dev/null +++ b/tonights-meetup-location-changed/index.html @@ -0,0 +1 @@ +{# This is the closest we can get to 301 redirects in GitHub Pages. This template uses meta refresh to redirect from the old path to the new permalink in 0 seconds (change that delay if you wish the page to appear for longer, though if you do, note that the template is basic and un-styled). The template also sets the canonical link to the new page location and a link in the body, in case the browser doesn't do meta refresh. This template uses 11ty Pagination to create pages with data (https://www.11ty.dev/docs/pages-from-data/) from `_data/redirects.json`. Note that there is additional old/new file mapping in that file that may be removed if it's not needed. The obvious downside to this approach is that files are created in the root or posts directory for each of the old permalinks. At worst, this may result in namespace collisions should a future filename/permalink match one of the redirect permalinks. Otherwise, this approach merely clutters up the output directory with "old" files. We may want to sunset this approach as traffic to the old pages drops off to a certain level. #}

Redirecting

This page been moved to /posts/tonights-meetup-location-changed/.

\ No newline at end of file