mirror of
https://github.com/tiennm99/awesome-advent-of-code.git
synced 2026-10-16 08:14:40 +00:00
14 files changed
+1259
-185
No files matched your search
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
@@ -0,0 +1,21 @@
|
||||
# Update badge action
|
||||
|
||||
This action fetches last commit time of repositories and generates the badge for advent-of-code.
|
||||
|
||||
## Inputs
|
||||
|
||||
### `ghToken`
|
||||
|
||||
**Required** GitHub token
|
||||
|
||||
### `inputFile`
|
||||
|
||||
**Required** File path of README.md
|
||||
|
||||
### `outputFile`
|
||||
|
||||
**Required** File path of updated README.md
|
||||
|
||||
## Outputs
|
||||
|
||||
No output. The output file will be changed directly. You can use another action to commit.
|
||||
@@ -0,0 +1,17 @@
|
||||
name: 'Update badge'
|
||||
description: 'Fetches last commit time of repositories and generates badges'
|
||||
inputs:
|
||||
ghToken:
|
||||
description: 'GitHub token'
|
||||
required: true
|
||||
inputFile:
|
||||
description: 'File path of README.md'
|
||||
required: true
|
||||
default: 'README.md'
|
||||
outputFile:
|
||||
description: 'File path of output'
|
||||
required: true
|
||||
default: 'README-badge.md'
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
@@ -0,0 +1,90 @@
|
||||
// modifiy based on https://runkit.com/melnikow/version-from-requirements-txt
|
||||
const axios = require('axios');
|
||||
const moment = require('moment');
|
||||
|
||||
const badgeDefaults = {
|
||||
schemaVersion: 1,
|
||||
label: 'last commit',
|
||||
}
|
||||
|
||||
async function handle(octokit, { owner, repo }) {
|
||||
let lastCommitDayStr
|
||||
try {
|
||||
const { data: commitList } = await Promise.race([
|
||||
new Promise(resolve => setTimeout(resolve, 10 * 1000)),
|
||||
octokit.repos.listCommits({
|
||||
owner,
|
||||
repo
|
||||
})
|
||||
])
|
||||
lastCommitDayStr = commitList[0].commit.author.date
|
||||
} catch (e) {
|
||||
if (e.message.indexOf('rate limit exceeded') !== -1) {
|
||||
throw e;
|
||||
}
|
||||
|
||||
console.log(`[${owner }/${repo}] ${e.message}`)
|
||||
return { message: 'resource not available', color: 'red' }
|
||||
}
|
||||
|
||||
const message = moment(lastCommitDayStr).format('YYYY-MM-DD')
|
||||
return {
|
||||
message,
|
||||
color: age(message),
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = async function invokeHandler(octokit, query) {
|
||||
return Object.assign({}, badgeDefaults, await handle(octokit, query))
|
||||
}
|
||||
|
||||
// copy from https://github.com/badges/shields
|
||||
function colorScale(steps, colors, reversed) {
|
||||
if (steps === undefined) {
|
||||
throw Error('When invoking colorScale, steps should be provided.')
|
||||
}
|
||||
|
||||
const defaultColors = {
|
||||
1: ['red', 'brightgreen'],
|
||||
2: ['red', 'yellow', 'brightgreen'],
|
||||
3: ['red', 'yellow', 'green', 'brightgreen'],
|
||||
4: ['red', 'yellow', 'yellowgreen', 'green', 'brightgreen'],
|
||||
5: ['red', 'orange', 'yellow', 'yellowgreen', 'green', 'brightgreen'],
|
||||
}
|
||||
|
||||
if (typeof colors === 'undefined') {
|
||||
if (steps.length in defaultColors) {
|
||||
colors = defaultColors[steps.length]
|
||||
} else {
|
||||
throw Error(`No default colors for ${steps.length} steps.`)
|
||||
}
|
||||
}
|
||||
|
||||
if (steps.length !== colors.length - 1) {
|
||||
throw Error(
|
||||
'When colors are provided, there should be n + 1 colors for n steps.'
|
||||
)
|
||||
}
|
||||
|
||||
if (reversed) {
|
||||
colors = Array.from(colors).reverse()
|
||||
}
|
||||
|
||||
return value => {
|
||||
const stepIndex = steps.findIndex(step => value < step)
|
||||
|
||||
// For the final step, stepIndex is -1, so in all cases this expression
|
||||
// works swimmingly.
|
||||
return colors.slice(stepIndex)[0]
|
||||
}
|
||||
}
|
||||
|
||||
function age(date) {
|
||||
const now = moment()
|
||||
const dec1st = moment([now.year(), 11, 1])
|
||||
if (now.diff(dec1st) < 0) dec1st.add(-1, 'y')
|
||||
|
||||
const daysElapsed = moment(date).diff(moment(dec1st), 'days') + 1
|
||||
const colorByAge = colorScale([0, 5, 10, 20, 25], undefined, false)
|
||||
return colorByAge(daysElapsed)
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
const fs = require('fs')
|
||||
const core = require('@actions/core')
|
||||
const github = require('@actions/github')
|
||||
const endpoint = require('./endpoint')
|
||||
|
||||
let octokit
|
||||
|
||||
try {
|
||||
const ghToken = core.getInput('ghToken')
|
||||
const inputFile = core.getInput('inputFile')
|
||||
const outputFile = core.getInput('outputFile')
|
||||
|
||||
const content = fs.readFileSync(inputFile, 'utf8')
|
||||
const lines = content.split('\n')
|
||||
core.startGroup('Extract repositories')
|
||||
const repos = extractRepositories(lines)
|
||||
core.info(`count=${repos.length}`)
|
||||
core.endGroup()
|
||||
|
||||
octokit = github.getOctokit(ghToken)
|
||||
core.startGroup('Fetch repositories')
|
||||
Promise.all(repos.map(({ repoStr }) => generateLine(repoStr)))
|
||||
.then((newLines) => {
|
||||
core.endGroup()
|
||||
|
||||
newLines.forEach((line, i) => {
|
||||
if (shouldUpdate(lines[repos[i].index], line)) {
|
||||
lines[repos[i].index] = line
|
||||
}
|
||||
})
|
||||
|
||||
core.startGroup('Writing to file')
|
||||
fs.writeFileSync(outputFile, lines.join('\n'))
|
||||
core.info(`Finished writing to ${outputFile}`)
|
||||
core.endGroup()
|
||||
})
|
||||
.catch(error => {
|
||||
core.setFailed(error.message)
|
||||
})
|
||||
} catch (error) {
|
||||
core.setFailed(error.message)
|
||||
}
|
||||
|
||||
function extractRepositories(lines) {
|
||||
const repos = []
|
||||
|
||||
let collect = false
|
||||
lines.some((line, index) => {
|
||||
if (line === '### Solutions') {
|
||||
collect = true
|
||||
} else if (collect) {
|
||||
const idx1 = line.indexOf('[')
|
||||
const idx2 = line.indexOf(']')
|
||||
if (idx1 >= 0 && idx2 >= 0) {
|
||||
repos.push({
|
||||
index,
|
||||
repoStr: line.slice(idx1 + 1, idx2)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
})
|
||||
|
||||
return repos
|
||||
}
|
||||
|
||||
async function generateLine(repoStr) {
|
||||
const badge = await generateBadge(repoStr)
|
||||
return `* [${repoStr}](https://github.com/${repoStr}) `
|
||||
}
|
||||
|
||||
async function generateBadge(repoStr) {
|
||||
const [owner, repo] = repoStr.split('/')
|
||||
const { label, message, color } = await endpoint(octokit, { owner, repo })
|
||||
|
||||
core.info(`...fetched repo ${repoStr}`)
|
||||
|
||||
return 'https://img.shields.io/badge/' + [label, message, color]
|
||||
.map(s => encodeURIComponent(s.replace(/\-/g, '--')))
|
||||
.join('-')
|
||||
}
|
||||
|
||||
function shouldUpdate(oldLine, newLine) {
|
||||
const badDateReg = /red\)$/
|
||||
return badDateReg.test(oldLine) || !badDateReg.test(newLine)
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.6",
|
||||
"@actions/github": "3.0.0",
|
||||
"axios": "^0.19.2",
|
||||
"moment": "^2.26.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,333 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@actions/core@^1.2.6":
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.2.6.tgz#a78d49f41a4def18e88ce47c2cac615d5694bf09"
|
||||
integrity sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==
|
||||
|
||||
"@actions/github@3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@actions/github/-/github-3.0.0.tgz#ce1b721a266ad5ac522da0c9c013c999009604bf"
|
||||
integrity sha512-zSYo0Pzh/AZt0DCBjCUhd9lNBECbbWnPqq5L32DZDTuEhjGJM8VSgOpKSol9climaJxhPJQhu+vUZIZuQi4Z1w==
|
||||
dependencies:
|
||||
"@actions/http-client" "^1.0.3"
|
||||
"@octokit/core" "^2.5.1"
|
||||
"@octokit/plugin-paginate-rest" "^2.2.0"
|
||||
"@octokit/plugin-rest-endpoint-methods" "^3.10.0"
|
||||
|
||||
"@actions/http-client@^1.0.3":
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.8.tgz#8bd76e8eca89dc8bcf619aa128eba85f7a39af45"
|
||||
integrity sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA==
|
||||
dependencies:
|
||||
tunnel "0.0.6"
|
||||
|
||||
"@octokit/auth-token@^2.4.0":
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a"
|
||||
integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==
|
||||
dependencies:
|
||||
"@octokit/types" "^5.0.0"
|
||||
|
||||
"@octokit/core@^2.5.1":
|
||||
version "2.5.4"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/core/-/core-2.5.4.tgz#f7fbf8e4f86c5cc2497a8887ba2561ec8d358054"
|
||||
integrity sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ==
|
||||
dependencies:
|
||||
"@octokit/auth-token" "^2.4.0"
|
||||
"@octokit/graphql" "^4.3.1"
|
||||
"@octokit/request" "^5.4.0"
|
||||
"@octokit/types" "^5.0.0"
|
||||
before-after-hook "^2.1.0"
|
||||
universal-user-agent "^5.0.0"
|
||||
|
||||
"@octokit/endpoint@^6.0.1":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.3.tgz#dd09b599662d7e1b66374a177ab620d8cdf73487"
|
||||
integrity sha512-Y900+r0gIz+cWp6ytnkibbD95ucEzDSKzlEnaWS52hbCDNcCJYO5mRmWW7HRAnDc7am+N/5Lnd8MppSaTYx1Yg==
|
||||
dependencies:
|
||||
"@octokit/types" "^5.0.0"
|
||||
is-plain-object "^3.0.0"
|
||||
universal-user-agent "^5.0.0"
|
||||
|
||||
"@octokit/graphql@^4.3.1":
|
||||
version "4.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.1.tgz#162aed1490320b88ce34775b3f6b8de945529fa9"
|
||||
integrity sha512-qgMsROG9K2KxDs12CO3bySJaYoUu2aic90qpFrv7A8sEBzZ7UFGvdgPKiLw5gOPYEYbS0Xf8Tvf84tJutHPulQ==
|
||||
dependencies:
|
||||
"@octokit/request" "^5.3.0"
|
||||
"@octokit/types" "^5.0.0"
|
||||
universal-user-agent "^5.0.0"
|
||||
|
||||
"@octokit/plugin-paginate-rest@^2.2.0":
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.2.2.tgz#d78f6ff2f188753ff217e51e3415a997cd6abce8"
|
||||
integrity sha512-3OO/SjB5BChRTVRRQcZzpL0ZGcDGEB2dBzNhfqVqqMs6WDwo7cYW8cDwxqW8+VvA78mDK/abXgR/UrYg4HqrQg==
|
||||
dependencies:
|
||||
"@octokit/types" "^5.0.0"
|
||||
|
||||
"@octokit/plugin-rest-endpoint-methods@^3.10.0":
|
||||
version "3.17.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz#d8ba04eb883849dd98666c55bf49d8c9fe7be055"
|
||||
integrity sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg==
|
||||
dependencies:
|
||||
"@octokit/types" "^4.1.6"
|
||||
deprecation "^2.3.1"
|
||||
|
||||
"@octokit/request-error@^2.0.0":
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.1.tgz#49bd71e811daffd5bdd06ef514ca47b5039682d1"
|
||||
integrity sha512-5lqBDJ9/TOehK82VvomQ6zFiZjPeSom8fLkFVLuYL3sKiIb5RB8iN/lenLkY7oBmyQcGP7FBMGiIZTO8jufaRQ==
|
||||
dependencies:
|
||||
"@octokit/types" "^4.0.1"
|
||||
deprecation "^2.0.0"
|
||||
once "^1.4.0"
|
||||
|
||||
"@octokit/request@^5.3.0", "@octokit/request@^5.4.0":
|
||||
version "5.4.5"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.5.tgz#8df65bd812047521f7e9db6ff118c06ba84ac10b"
|
||||
integrity sha512-atAs5GAGbZedvJXXdjtKljin+e2SltEs48B3naJjqWupYl2IUBbB/CJisyjbNHcKpHzb3E+OYEZ46G8eakXgQg==
|
||||
dependencies:
|
||||
"@octokit/endpoint" "^6.0.1"
|
||||
"@octokit/request-error" "^2.0.0"
|
||||
"@octokit/types" "^5.0.0"
|
||||
deprecation "^2.0.0"
|
||||
is-plain-object "^3.0.0"
|
||||
node-fetch "^2.3.0"
|
||||
once "^1.4.0"
|
||||
universal-user-agent "^5.0.0"
|
||||
|
||||
"@octokit/types@^4.0.1", "@octokit/types@^4.1.6":
|
||||
version "4.1.10"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-4.1.10.tgz#e4029c11e2cc1335051775bc1600e7e740e4aca4"
|
||||
integrity sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ==
|
||||
dependencies:
|
||||
"@types/node" ">= 8"
|
||||
|
||||
"@octokit/types@^5.0.0":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.0.1.tgz#5459e9a5e9df8565dcc62c17a34491904d71971e"
|
||||
integrity sha512-GorvORVwp244fGKEt3cgt/P+M0MGy4xEDbckw+K5ojEezxyMDgCaYPKVct+/eWQfZXOT7uq0xRpmrl/+hliabA==
|
||||
dependencies:
|
||||
"@types/node" ">= 8"
|
||||
|
||||
"@types/node@>= 8":
|
||||
version "14.0.13"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.13.tgz#ee1128e881b874c371374c1f72201893616417c9"
|
||||
integrity sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==
|
||||
|
||||
axios@^0.19.2:
|
||||
version "0.19.2"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
|
||||
integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
|
||||
dependencies:
|
||||
follow-redirects "1.5.10"
|
||||
|
||||
before-after-hook@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635"
|
||||
integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==
|
||||
|
||||
cross-spawn@^6.0.0:
|
||||
version "6.0.5"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
|
||||
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
|
||||
dependencies:
|
||||
nice-try "^1.0.4"
|
||||
path-key "^2.0.1"
|
||||
semver "^5.5.0"
|
||||
shebang-command "^1.2.0"
|
||||
which "^1.2.9"
|
||||
|
||||
debug@=3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
deprecation@^2.0.0, deprecation@^2.3.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
|
||||
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
|
||||
|
||||
end-of-stream@^1.1.0:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
execa@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
|
||||
integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
|
||||
dependencies:
|
||||
cross-spawn "^6.0.0"
|
||||
get-stream "^4.0.0"
|
||||
is-stream "^1.1.0"
|
||||
npm-run-path "^2.0.0"
|
||||
p-finally "^1.0.0"
|
||||
signal-exit "^3.0.0"
|
||||
strip-eof "^1.0.0"
|
||||
|
||||
follow-redirects@1.5.10:
|
||||
version "1.5.10"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
|
||||
integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
|
||||
dependencies:
|
||||
debug "=3.1.0"
|
||||
|
||||
get-stream@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
|
||||
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
|
||||
dependencies:
|
||||
pump "^3.0.0"
|
||||
|
||||
is-plain-object@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928"
|
||||
integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==
|
||||
dependencies:
|
||||
isobject "^4.0.0"
|
||||
|
||||
is-stream@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
||||
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
|
||||
|
||||
isobject@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0"
|
||||
integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
|
||||
|
||||
macos-release@^2.2.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f"
|
||||
integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==
|
||||
|
||||
moment@^2.26.0:
|
||||
version "2.26.0"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.26.0.tgz#5e1f82c6bafca6e83e808b30c8705eed0dcbd39a"
|
||||
integrity sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==
|
||||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
||||
|
||||
nice-try@^1.0.4:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
|
||||
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
|
||||
|
||||
node-fetch@^2.3.0:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
|
||||
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
|
||||
|
||||
npm-run-path@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||
integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
|
||||
dependencies:
|
||||
path-key "^2.0.0"
|
||||
|
||||
once@^1.3.1, once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
|
||||
dependencies:
|
||||
wrappy "1"
|
||||
|
||||
os-name@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801"
|
||||
integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==
|
||||
dependencies:
|
||||
macos-release "^2.2.0"
|
||||
windows-release "^3.1.0"
|
||||
|
||||
p-finally@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
||||
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
|
||||
|
||||
path-key@^2.0.0, path-key@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
|
||||
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
|
||||
|
||||
pump@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
|
||||
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
|
||||
dependencies:
|
||||
end-of-stream "^1.1.0"
|
||||
once "^1.3.1"
|
||||
|
||||
semver@^5.5.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||
|
||||
shebang-command@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
|
||||
integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
|
||||
dependencies:
|
||||
shebang-regex "^1.0.0"
|
||||
|
||||
shebang-regex@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
|
||||
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
|
||||
|
||||
signal-exit@^3.0.0:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
|
||||
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
|
||||
|
||||
strip-eof@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
||||
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
|
||||
|
||||
tunnel@0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
|
||||
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
|
||||
|
||||
universal-user-agent@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9"
|
||||
integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==
|
||||
dependencies:
|
||||
os-name "^3.1.0"
|
||||
|
||||
which@^1.2.9:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
|
||||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
||||
windows-release@^3.1.0:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.1.tgz#cb4e80385f8550f709727287bf71035e209c4ace"
|
||||
integrity sha512-Pngk/RDCaI/DkuHPlGTdIkDiTAnAkyMjoQMZqRsxydNl1qGXNIoZrB7RK8g53F2tEgQBMqQJHQdYZuQEEAu54A==
|
||||
dependencies:
|
||||
execa "^1.0.0"
|
||||
|
||||
wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
||||
@@ -0,0 +1,36 @@
|
||||
name: Update AoC badge
|
||||
|
||||
on:
|
||||
push:
|
||||
schedule:
|
||||
- cron: '0 0 * 1-11 1'
|
||||
- cron: '0 0 * 12 *'
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ github.ref }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install packages
|
||||
run: yarn
|
||||
working-directory: ./.github/actions/update-badge
|
||||
|
||||
- name: Use local action
|
||||
uses: ./.github/actions/update-badge
|
||||
with:
|
||||
ghToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
inputFile: README.md
|
||||
outputFile: README.md
|
||||
|
||||
- name: Git commit and push
|
||||
run: |
|
||||
git config user.email 'actions@github.com'
|
||||
git config user.name 'github-actions'
|
||||
git add README.md
|
||||
git commit -m 'update badges'
|
||||
git push origin HEAD:${{ github.ref }}
|
||||
@@ -22,6 +22,7 @@ of Code] event.
|
||||
* [Go](#go)
|
||||
* [Groovy](#groovy)
|
||||
* [Haskell](#haskell)
|
||||
* [Haxe](#haxe)
|
||||
* [Idris](#idris)
|
||||
* [Java](#java)
|
||||
* [JavaScript](#javascript)
|
||||
@@ -92,6 +93,8 @@ of Code] event.
|
||||
* [tomwallace/AdventOfCode2018](https://github.com/tomwallace/AdventOfCode2018) 
|
||||
* [wimex/AdventOfCode2018](https://github.com/wimex/AdventOfCode2018) 
|
||||
* [viceroypenguin/adventofcode](https://github.com/viceroypenguin/adventofcode) 
|
||||
* [tstavropoulos/AdventOfCode2018](https://github.com/tstavropoulos/AdventOfCode2018) 
|
||||
* [stevotvr/adventofcode2018](https://github.com/stevotvr/adventofcode2018) 
|
||||
|
||||
#### C++
|
||||
|
||||
@@ -213,6 +216,12 @@ of Code] event.
|
||||
* [ephemient/aoc2018](https://github.com/ephemient/aoc2018) 
|
||||
* [tejasbubane/adventofcode-2018](https://github.com/tejasbubane/adventofcode-2018) 
|
||||
|
||||
#### Haxe
|
||||
|
||||
*Solutions to AoC in Haxe.*
|
||||
|
||||
* [Gama11/AdventOfCode2018](https://github.com/Gama11/AdventOfCode2018) 
|
||||
|
||||
#### Idris
|
||||
|
||||
*Solutions to AoC in Idris.*
|
||||
@@ -235,6 +244,7 @@ of Code] event.
|
||||
* [ars216/Advent-of-Code-2018](https://github.com/ars216/Advent-of-Code-2018) 
|
||||
* [jeffrosenberg/advent-of-code-2018](https://github.com/jeffrosenberg/advent-of-code-2018) 
|
||||
* [joethei/Advent-of-Code-2018](https://github.com/joethei/Advent-of-Code-2018) 
|
||||
* [tmrd993/Advent-of-Code-2018](https://github.com/tmrd993/Advent-of-Code-2018)
|
||||
|
||||
#### JavaScript
|
||||
|
||||
@@ -242,6 +252,7 @@ of Code] event.
|
||||
|
||||
* [Allypost/advent-of-code-2018](https://github.com/Allypost/advent-of-code-2018) 
|
||||
* [Covicake/AdventOfCode](https://github.com/Covicake/AdventOfCode) 
|
||||
* [MaxArt2501/advent-of-code-2018](https://github.com/MaxArt2501/advent-of-code-2018) 
|
||||
* [SeanECogan/advent-of-code-2018](https://github.com/SeanECogan/advent-of-code-2018) 
|
||||
* [TolleyB-J/AdventOfCode2018](https://github.com/TolleyB-J/AdventOfCode2018) 
|
||||
* [adriennetacke/advent-of-code-2018](https://github.com/adriennetacke/advent-of-code-2018) 
|
||||
@@ -263,6 +274,9 @@ of Code] event.
|
||||
* [spalberg/AdventOfCode](https://github.com/spalberg/AdventOfCode) 
|
||||
* [tommmyy/advent-of-code](https://github.com/tommmyy/advent-of-code) 
|
||||
* [stewartpark/aoc-2018](https://github.com/stewartpark/aoc-2018) 
|
||||
* [und3f/advent-of-code-2018](https://github.com/und3f/advent-of-code-2018) 
|
||||
* [branislavjenco/advent2018](https://github.com/branislavjenco/advent2018) 
|
||||
* [mariotacke/advent-of-code-2018](https://github.com/mariotacke/advent-of-code-2018)
|
||||
|
||||
#### Kotlin
|
||||
|
||||
@@ -309,6 +323,7 @@ of Code] event.
|
||||
*Solutions to AoC in Perl.*
|
||||
|
||||
* [bewuethr/advent-of-code](https://github.com/bewuethr/advent-of-code) 
|
||||
* [kcaran/adventofcode2018](https://github.com/kcaran/adventofcode2018) 
|
||||
|
||||
#### Pony
|
||||
|
||||
@@ -349,6 +364,7 @@ of Code] event.
|
||||
* [iBelieve/adventofcode](https://github.com/iBelieve/adventofcode) 
|
||||
* [j0057/aoc2018](https://github.com/j0057/aoc2018) 
|
||||
* [oskar404/aoc](https://github.com/oskar404/aoc) 
|
||||
* [mjpieters/adventofcode](https://github.com/mjpieters/adventofcode) 
|
||||
* [racinmat/advent_of_code_2018](https://github.com/racinmat/advent_of_code_2018) 
|
||||
* [rhbvkleef/aoc-2018](https://github.com/rhbvkleef/aoc-2018) 
|
||||
* [rossengeorgiev/adventofcode-2018](https://github.com/rossengeorgiev/adventofcode-2018) 
|
||||
@@ -366,6 +382,7 @@ of Code] event.
|
||||
* [ephemient/aoc2018](https://github.com/ephemient/aoc2018) 
|
||||
* [pietroppeter/AdventOfCode2018](https://github.com/pietroppeter/AdventOfCode2018) 
|
||||
* [IFinners/advent-of-code](https://github.com/IFinners/advent-of-code) 
|
||||
* [williamfhe/advent-of-code-2018](https://github.com/williamfhe/advent-of-code-2018) 
|
||||
|
||||
#### Racket
|
||||
|
||||
@@ -405,6 +422,7 @@ of Code] event.
|
||||
* [sophiedeziel/advent_of_code_2018](https://github.com/sophiedeziel/advent_of_code_2018) 
|
||||
* [ste001/advent-of-code-2018](https://github.com/ste001/advent-of-code-2018) 
|
||||
* [taylorthurlow/advent-of-code-2018](https://github.com/taylorthurlow/advent-of-code-2018) 
|
||||
* [gjanee/advent-of-code-2018](https://github.com/gjanee/advent-of-code-2018) 
|
||||
|
||||
#### Rust
|
||||
|
||||
|
||||
@@ -0,0 +1,514 @@
|
||||
# Awesome Advent of Code
|
||||
|
||||
This file contains the archived list of solutions to the 2019 [Advent
|
||||
of Code] event.
|
||||
|
||||
[Advent of Code]: https://adventofcode.com/
|
||||
* [2019](#2019)
|
||||
* [Solutions](#solutions)
|
||||
* [AWK](#awk)
|
||||
* [Ada](#ada)
|
||||
* [Bash](#Bash)
|
||||
* [C](#c)
|
||||
* [C#](#c-1)
|
||||
* [C++](#c-2)
|
||||
* [Clojure](#clojure)
|
||||
* [Common Lisp](#common-lisp)
|
||||
* [Crystal](#crystal)
|
||||
* [D](#d)
|
||||
* [Dart](#dart)
|
||||
* [Elixir](#elixir)
|
||||
* [Elm](#elm)
|
||||
* [Erlang](#erlang)
|
||||
* [F#](#f)
|
||||
* [Go](#go)
|
||||
* [Groovy](#groovy)
|
||||
* [Haskell](#haskell)
|
||||
* [Haxe](#haxe)
|
||||
* [Idris](#idris)
|
||||
* [J](#J)
|
||||
* [Java](#java)
|
||||
* [JavaScript](#javascript)
|
||||
* [Julia](#julia)
|
||||
* [Kotlin](#kotlin)
|
||||
* [LDPL](#ldpl)
|
||||
* [Nim](#nim)
|
||||
* [OCaml](#ocaml)
|
||||
* [PHP](#php)
|
||||
* [Perl](#perl)
|
||||
* [Pony](#pony)
|
||||
* [PowerShell](#powershell)
|
||||
* [Prolog](#prolog)
|
||||
* [Python](#python)
|
||||
* [R](#r)
|
||||
* [Racket](#racket)
|
||||
* [ReasonML](#reasonml)
|
||||
* [Red](#red)
|
||||
* [Ruby](#ruby)
|
||||
* [Rust](#rust)
|
||||
* [Smalltalk](#smalltalk)
|
||||
* [Scala](#scala)
|
||||
* [Scheme](#scheme)
|
||||
* [Swift](#swift)
|
||||
* [TypeScript](#typescript)
|
||||
* [Unison](#unison)
|
||||
* [Zig](#zig)
|
||||
* [Live Streams](#live-streams)
|
||||
|
||||
## 2019
|
||||
|
||||
**WARNING:** All of these likely contain spoilers.
|
||||
|
||||
Read [CONTRIBUTING.md](/CONTRIBUTING.md) to learn how to add your own repos.
|
||||
|
||||
### Solutions
|
||||
|
||||
#### AWK
|
||||
|
||||
*Solutions to AoC in AWK.*
|
||||
|
||||
#### Ada
|
||||
|
||||
*Solutions to AoC in Ada.*
|
||||
|
||||
* [jamestomasino/advent-of-code-2019](https://github.com/jamestomasino/advent-of-code-2019) 
|
||||
|
||||
#### Bash
|
||||
|
||||
*Solutions to AoC in Bash.*
|
||||
|
||||
#### C
|
||||
|
||||
*Solutions to AoC in C.*
|
||||
|
||||
* [tneish/advent-of-code-2019](https://github.com/tneish/advent-of-code-2019) 
|
||||
|
||||
#### C#
|
||||
|
||||
*Solutions to AoC in C#.*
|
||||
|
||||
* [AnkurSheel/AdventOfCode2019](https://github.com/AnkurSheel/AdventOfCode2019) 
|
||||
* [alexchro93/AdventOfCode](https://github.com/alexchro93/AdventOfCode) 
|
||||
* [eduherminio/AoC2019](https://github.com/eduherminio/AoC2019) 
|
||||
* [encse/adventofcode](https://github.com/encse/adventofcode) 
|
||||
* [sanraith/aoc2019](https://github.com/sanraith/aoc2019) 
|
||||
* [sindrekjr/AdventOfCode](https://github.com/sindrekjr/AdventOfCode) 
|
||||
* [tstavropoulos/AdventOfCode2019](https://github.com/tstavropoulos/AdventOfCode2019) 
|
||||
* [viceroypenguin/adventofcode](https://github.com/viceroypenguin/adventofcode) 
|
||||
|
||||
#### C++
|
||||
|
||||
*Solutions to AoC in C++.*
|
||||
|
||||
* [TheRealMolen/adventofcode2019](https://github.com/TheRealMolen/adventofcode2019) 
|
||||
* [bwearley/advent-of-code-2019](https://gitlab.com/bwearley/advent-of-code-2019/)
|
||||
* [moxenseya/advent-of-code-2019](https://github.com/moxenseya/Advent_Of_Code_2019/)
|
||||
* [rrrlw/advent-of-code-2019](https://github.com/rrrlw/advent-of-code-2019) 
|
||||
* [voivoid/advent-of-code](https://github.com/voivoid/advent-of-code) 
|
||||
|
||||
#### Clojure
|
||||
|
||||
*Solutions to AoC in Clojure.*
|
||||
|
||||
* [agrison/advent-of-code-2019](https://github.com/agrison/advent-of-code-2019) 
|
||||
* [alexparlett/advent-of-code-2019](https://github.com/alexparlett/advent-of-code-2019) 
|
||||
* [erdos/advent-of-code-2019](https://github.com/erdos/advent-of-code-2019) 
|
||||
* [fctorial/adventofcode2019-clojure](https://github.com/fctorial/adventofcode2019-clojure) 
|
||||
* [fdlk/advent-2019](https://github.com/fdlk/advent-2019) 
|
||||
* [felipecortez/advent-of-code](https://github.com/felipecortez/advent-of-code) 
|
||||
* [jdlambert/advent-of-code-2019](https://github.com/jdlambert/advent-of-code-2019) 
|
||||
* [mastercake10/AdventOfCode2019](https://github.com/mastercake10/AdventOfCode2019) 
|
||||
|
||||
#### Common Lisp
|
||||
|
||||
*Solutions to AoC in Common Lisp.*
|
||||
|
||||
* [HenryS1/adventofcode](https://github.com/HenryS1/adventofcode) 
|
||||
|
||||
#### Crystal
|
||||
|
||||
*Solutions to AoC in Crystal.*
|
||||
|
||||
* [PenguinOwl/advent2019](https://github.com/PenguinOwl/advent2019) 
|
||||
* [salival1/advent-2019](https://github.com/salival1/advent-2019) 
|
||||
|
||||
#### D
|
||||
|
||||
*Solutions to AoC in D.*
|
||||
|
||||
* [jrfondren/adventofcode](https://github.com/jrfondren/adventofcode) 
|
||||
* [m3m0ry/2019-advent](https://github.com/m3m0ry/2019-advent) 
|
||||
|
||||
#### Dart
|
||||
|
||||
*Solutions to AoC in Dart.*
|
||||
|
||||
* [Awjin/advent-of-code](https://github.com/Awjin/advent-of-code) 
|
||||
* [ejain/advent-of-code-2019](https://github.com/ejain/advent-of-code-2019) 
|
||||
* [julemand101/AdventOfCode2019](https://github.com/julemand101/AdventOfCode2019) 
|
||||
|
||||
#### Elixir
|
||||
|
||||
*Solutions to AoC in Elixir.*
|
||||
|
||||
* [Firebain/adventofcode](https://github.com/Firebain/adventofcode) 
|
||||
* [dunyakirkali/aoc](https://github.com/dunyakirkali/aoc) 
|
||||
* [es1o/adventofcode](https://github.com/es1o/adventofcode) 
|
||||
* [jwarwick/aoc_2019](https://github.com/jwarwick/aoc_2019) 
|
||||
* [manniL/aoc-2019-elixir](https://github.com/manniL/aoc-2019-elixir) 
|
||||
* [mreishus/aoc](https://github.com/mreishus/aoc) 
|
||||
|
||||
#### Elm
|
||||
|
||||
*Solutions to AoC in Elm and Literate Elm.*
|
||||
|
||||
#### Erlang
|
||||
|
||||
*Solutions to AoC in Erlang.*
|
||||
|
||||
* [rhbvkleef/aoc2019](https://github.com/rhbvkleef/aoc2019) 
|
||||
|
||||
#### F#
|
||||
|
||||
*Solutions to AoC in F#.*
|
||||
|
||||
* [CameronAavik/AdventOfCode](https://github.com/CameronAavik/AdventOfCode) 
|
||||
* [ChrisPritchard/AdventOfCode](https://github.com/ChrisPritchard/AdventOfCode) 
|
||||
* [ThomasGoetzmann/AdventOfCode](https://github.com/ThomasGoetzmann/AdventOfCode) 
|
||||
|
||||
#### Go
|
||||
|
||||
*Solutions to AoC in Go.*
|
||||
|
||||
* [GreenLightning/aoc19](https://github.com/GreenLightning/aoc19) 
|
||||
* [Ullaakut/aoc19](https://github.com/Ullaakut/aoc19) 
|
||||
* [chigley/advent2019](https://github.com/chigley/advent2019) 
|
||||
* [davidaayers/advent-of-code-2019](https://github.com/davidaayers/advent-of-code-2019) 
|
||||
* [devries/advent_of_code_2019](https://github.com/devries/advent_of_code_2019) 
|
||||
* [gliderGeek/adventofcode19](https://github.com/gliderGeek/adventofcode19) 
|
||||
* [hamzah-hayat/adventofcode](https://github.com/hamzah-hayat/adventofcode) 
|
||||
* [hierynomus/2019-adventofcode.com](https://github.com/hierynomus/code-challenges/tree/master/2019-adventofcode.com) 
|
||||
* [howden/advent19](https://github.com/howden/advent19) 
|
||||
* [kissgyorgy/adventofcode2019](https://github.com/kissgyorgy/adventofcode2019) 
|
||||
* [lynerist/Advent-of-code-2019-golang](https://github.com/lynerist/Advent-of-code-2019-golang) 
|
||||
* [mreishus/aoc](https://github.com/mreishus/aoc) 
|
||||
* [nlowe/aoc2019]
|
||||
* [pancelor/advent-of-code-solutions](https://github.com/pancelor/advent-of-code-solutions) 
|
||||
* [sasom/adventofcode19](https://gitlab.com/sasom/adventofcode19)
|
||||
* [sevaorlov/adventofcode2019](https://github.com/sevaorlov/adventofcode2019) 
|
||||
* [thlacroix/goadvent](https://github.com/thlacroix/goadvent) 
|
||||
* [williamfhe/advent-of-code-2019](https://github.com/williamfhe/advent-of-code-2019) 
|
||||
* [mightymatth/advent-of-code-2019](https://github.com/mightymatth/advent-of-code-2019) 
|
||||
* [stevotvr/adventofcode2019](https://github.com/stevotvr/adventofcode2019) 
|
||||
|
||||
#### Groovy
|
||||
|
||||
*Solutions to AoC in Groovy.*
|
||||
|
||||
#### Haskell
|
||||
|
||||
*Solutions to AoC in Haskell.*
|
||||
|
||||
* [bzuilhof/AdventOfCode](https://github.com/bzuilhof/AdventOfCode) 
|
||||
* [ephemient/aoc2019#hs](https://github.com/ephemient/aoc2019/tree/hs) 
|
||||
* [glguy/advent2019](https://github.com/glguy/advent2019) 
|
||||
* [hashedone/advent-of-code-2019-hask](https://github.com/hashedone/advent-of-code-2019-hask) 
|
||||
* [nrdmn/adventofcode2019](https://github.com/nrdmn/adventofcode2019) 
|
||||
* [Rick-T/Advent-of-Code-2k19](https://github.com/Rick-T/Advent-of-Code-2k19) 
|
||||
* [webbiscuit/adventofcode](https://github.com/webbiscuit/adventofcode) 
|
||||
* [sonowz/advent-of-code-haskell](https://github.com/sonowz/advent-of-code-haskell) 
|
||||
* [alf239/AoC2019](https://github.com/alf239/AoC2019)
|
||||
|
||||
#### Haxe
|
||||
|
||||
*Solutions to AoC in Haxe.*
|
||||
|
||||
* [Gama11/AdventOfCode2019](https://github.com/Gama11/AdventOfCode2019) 
|
||||
|
||||
#### Idris
|
||||
|
||||
*Solutions to AoC in Idris.*
|
||||
|
||||
#### J
|
||||
|
||||
*Solutions to AoC in J.*
|
||||
|
||||
* [jitwit/aoc](https://github.com/jitwit/aoc) 
|
||||
|
||||
#### Java
|
||||
|
||||
*Solutions to AoC in Java.*
|
||||
|
||||
* [SimonBaars/adventOfCode-2019](https://github.com/SimonBaars/adventOfCode-2019) 
|
||||
* [SizableShrimp/AdventOfCode2019](https://github.com/SizableShrimp/AdventOfCode2019) 
|
||||
* [agrison/advent-of-code-2019](https://github.com/agrison/advent-of-code-2019) 
|
||||
* [giganova/advent-of-code-2019-java](https://github.com/giganova/advent-of-code-2019-java) 
|
||||
* [niedrist/AdventOfCode](https://github.com/niedrist/AdventOfCode) 
|
||||
* [thcathy/advent-of-code](https://github.com/thcathy/advent-of-code) 
|
||||
* [akaritakai/AdventOfCode2019](https://github.com/akaritakai/AdventOfCode2019) 
|
||||
* [tmrd993/advent-of-code-solutions](https://github.com/tmrd993/advent-of-code-solutions) 
|
||||
|
||||
#### JavaScript
|
||||
|
||||
*Solutions to AoC in JavaScript.*
|
||||
|
||||
* [GigaNova/advent-of-code-2019](https://github.com/GigaNova/advent-of-code-2019) 
|
||||
* [Jedi-Fullstack-Avengers/AdventOfCode](https://github.com/Jedi-Fullstack-Avengers/AdventOfCode) 
|
||||
* [MaxArt2501/advent-of-code-2019](https://github.com/MaxArt2501/advent-of-code-2019) 
|
||||
* [RaedsLab/advent-of-code](https://github.com/RaedsLab/advent-of-code) 
|
||||
* [arnauddrain/advent-of-code-2019](https://github.com/arnauddrain/advent-of-code-2019) 
|
||||
* [atme/advent-of-code](https://github.com/atme/advent-of-code) 
|
||||
* [bureson/advent-of-code-2019](https://github.com/bureson/advent-of-code-2019) 
|
||||
* [bwearley/advent-of-code-2019](https://gitlab.com/bwearley/advent-of-code-2019/)
|
||||
* [chinesedfan/adventofcode](https://github.com/chinesedfan/adventofcode) 
|
||||
* [countzero/advent_of_code](https://github.com/countzero/advent_of_code) 
|
||||
* [danieltrost/adventofcode-2019-solutions-js](https://github.com/danieltrost/adventofcode-2019-solutions-js) 
|
||||
* [davidmargolin/Advent-Of-Code-2019](https://github.com/davidmargolin/Advent-Of-Code-2019) 
|
||||
* [entibo/advent-of-code-golf-2019](https://github.com/entibo/advent-of-code-golf-2019) 
|
||||
* [gamma032steam/Advent-of-code](https://github.com/gamma032steam/Advent-of-code) 
|
||||
* [gavinhenderson/advent-of-code](https://github.com/gavinhenderson/advent-of-code) 
|
||||
* [imsalahdev/adventofcode-2019](https://github.com/imsalahdev/adventofcode-2019) 
|
||||
* [jackcutting/aoc2019](https://github.com/jackcutting/aoc2019) 
|
||||
* [mdelerue/AdventOfCode](https://github.com/mdelerue/AdventOfCode) 
|
||||
* [und3f/advent-of-code-2019](https://github.com/und3f/advent-of-code-2019) 
|
||||
* [vguerrerobosch/advent-of-code-2019](https://github.com/vguerrerobosch/advent-of-code-2019) 
|
||||
* [vuryss/aoc-2019](https://github.com/vuryss/aoc-2019) 
|
||||
* [mariotacke/advent-of-code-2019](https://github.com/mariotacke/advent-of-code-2019)
|
||||
|
||||
#### Julia
|
||||
|
||||
*Solutions to AoC in Julia.*
|
||||
|
||||
* [goggle/AdventOfCode2019.jl](https://github.com/goggle/AdventOfCode2019.jl) 
|
||||
* [gsoleilhac/aoc19.jl](https://github.com/gsoleilhac/aoc19.jl) 
|
||||
* [kamilbeker/aoc2019.jl](https://github.com/kamilbeker/aoc2019.jl) 
|
||||
* [racinmat/advent_of_code_2019](https://github.com/racinmat/advent_of_code_2019) 
|
||||
* [Arkoniak/advent_of_code](https://github.com/Arkoniak/advent_of_code) 
|
||||
|
||||
#### Kotlin
|
||||
|
||||
*Solutions to AoC in Kotlin.*
|
||||
|
||||
* [0legg/adventofcode](https://github.com/0legg/adventofcode) 
|
||||
* [daafith/advent-of-code-2019](https://github.com/daafith/advent-of-code-2019) 
|
||||
* [ephemient/aoc2019#kt](https://github.com/ephemient/aoc2019/tree/kt) 
|
||||
* [hughjdavey/aoc-2019](https://github.com/hughjdavey/aoc-2019) 
|
||||
* [jgoerner/aoc-2019](https://github.com/jgoerner/aoc-2019) 
|
||||
* [jorispz/aoc-2019](https://github.com/jorispz/aoc-2019) 
|
||||
* [mew/aoc-2019](https://github.com/mew/aoc-2019) 
|
||||
* [valerakostin/AdventOfCode-2019](https://github.com/valerakostin/AdventOfCode-2019) 
|
||||
|
||||
#### LDPL
|
||||
|
||||
*Solutions to AoC in LDPL.*
|
||||
|
||||
* [Lartu/adventOfCode2019](https://github.com/Lartu/adventOfCode2019) 
|
||||
* [dgarroDC/advent-of-code-2019-ldpl](https://github.com/dgarroDC/advent-of-code-2019-ldpl) 
|
||||
|
||||
#### Nim
|
||||
|
||||
*Solutions to AoC in Nim.*
|
||||
|
||||
* [Coac/advent-of-code-2019](https://github.com/Coac/advent-of-code-2019) 
|
||||
* [kaushalmodi/aoc2019](https://github.com/kaushalmodi/aoc2019) 
|
||||
|
||||
#### OCaml
|
||||
|
||||
*Solutions to AoC in OCaml.*
|
||||
|
||||
* [georgek42/AOC2019](https://github.com/georgek42/AOC2019) 
|
||||
|
||||
#### PHP
|
||||
|
||||
*Solutions to AoC in PHP.*
|
||||
|
||||
* [aran112000/Advent-of-Code-2019-PHP](https://github.com/aran112000/Advent-of-Code-2019-PHP) 
|
||||
* [cbzink/advent-of-code-2019](https://github.com/cbzink/advent-of-code-2019) 
|
||||
* [vuryss/aoc-2019](https://github.com/vuryss/aoc-2019) 
|
||||
|
||||
#### Perl
|
||||
|
||||
*Solutions to AoC in Perl.*
|
||||
|
||||
* [DadaIsCrazy/adventofcode2019](https://github.com/DadaIsCrazy/adventofcode2019) 
|
||||
* [kcaran/adventofcode2019](https://github.com/kcaran/adventofcode2019) 
|
||||
* [kolcon/adventofcode_2019](https://github.com/kolcon/adventofcode_2019) 
|
||||
* [lskatz/advent-of-code](https://github.com/lskatz/advent-of-code) 
|
||||
|
||||
#### Pony
|
||||
|
||||
*Solutions to AoC in Pony.*
|
||||
|
||||
#### Prolog
|
||||
|
||||
*Solutions to AoC in Prolog.*
|
||||
|
||||
* [kristianhasselknippe/advent-of-code-2019](https://github.com/kristianhasselknippe/advent-of-code-2019) 
|
||||
|
||||
#### PowerShell
|
||||
|
||||
*Solutions to AoC in PowerShell.*
|
||||
|
||||
* [Crucerio/adventofcode](https://github.com/Crucerio/adventofcode) 
|
||||
* [martinkonopka/AdventOfCode2019](https://github.com/martinkonopka/AdventOfCode2019) 
|
||||
|
||||
#### Python
|
||||
|
||||
*Solutions to AoC in Python.*
|
||||
|
||||
* [0x8b/advent-of-code-2019](https://github.com/0x8b/advent-of-code-2019) 
|
||||
* [Akumatic/Advent-of-Code](https://github.com/Akumatic/Advent-of-Code) 
|
||||
* [Dementophobia/advent-of-code-2019](https://github.com/Dementophobia/advent-of-code-2019) 
|
||||
* [IFinners/advent-of-code](https://github.com/IFinners/advent-of-code) 
|
||||
* [JasonCannon/advent-of-code-2019](https://github.com/JasonCannon/advent-of-code-2019) 
|
||||
* [JesperDramsch/advent-of-code](https://github.com/JesperDramsch/advent-of-code) 
|
||||
* [Kurocon/AdventOfCode2019](https://github.com/Kurocon/AdventOfCode2019) 
|
||||
* [Levivig/AdventOfCode2019](https://github.com/Levivig/AdventOfCode2019) 
|
||||
* [Miccowhy/adventofcode2019](https://github.com/Miccowhy/adventofcode2019) 
|
||||
* [PatMyron/advent-of-code](https://github.com/PatMyron/advent-of-code) 
|
||||
* [TristoKrempita/advent-of-code](https://github.com/TristoKrempita/advent-of-code) 
|
||||
* [a-red-christmas/aoc2019-ae](https://github.com/a-red-christmas/aoc2019-ae) 
|
||||
* [agubelu/Advent-of-Code-2019](https://github.com/agubelu/Advent-of-Code-2019) 
|
||||
* [chase1745/AdventOfCode2019](https://github.com/chase1745/AdventOfCode2019) 
|
||||
* [dmies/adventOfCode](https://github.com/dmies/adventOfCode) 
|
||||
* [elvinyhlee/advent-of-code-2019-python](https://github.com/elvinyhlee/advent-of-code-2019-python) 
|
||||
* [ephemient/aoc2019#py](https://github.com/ephemient/aoc2019/tree/py) 
|
||||
* [gbusch/AdventOfCode](https://github.com/gbusch/AdventOfCode) 
|
||||
* [iownthegame/AdventofCode2019](https://github.com/iownthegame/AdventofCode2019) 
|
||||
* [juffalow/advent-of-code](https://github.com/juffalow/advent-of-code) 
|
||||
* [kjeliasen/AdventOfCode](https://github.com/kjeliasen/AdventOfCode) 
|
||||
* [kolcon/adventofcode_2019](https://github.com/kolcon/adventofcode_2019) 
|
||||
* [mapio/advent-of-code-2019](https://github.com/mapio/advent-of-code-2019) 
|
||||
* [mebeim/aoc](https://github.com/mebeim/aoc) 
|
||||
* [mevdschee/AdventOfCode2019](https://github.com/mevdschee/AdventOfCode2019) 
|
||||
* [mjpieters/adventofcode](https://github.com/mjpieters/adventofcode) 
|
||||
* [mpindaro/advent-of-code-2019](https://github.com/mpindaro/advent-of-code-2019) 
|
||||
* [mreishus/aoc](https://github.com/mreishus/aoc) 
|
||||
* [polhec42/AOC](https://github.com/polhec42/AOC) 
|
||||
* [r0f1/adventofcode2019](https://github.com/r0f1/adventofcode2019) 
|
||||
* [ste001/advent-of-code-2019](https://github.com/ste001/advent-of-code-2019) 
|
||||
* [vincent-vega/adventofcode](https://github.com/vincent-vega/adventofcode) 
|
||||
* [zenieldanaku/AdventOfCode](https://github.com/zenieldanaku/AdventOfCode) 
|
||||
* [branislavjenco/advent2019](https://github.com/branislavjenco/advent2019) 
|
||||
* [loociano/advent-of-code](https://github.com/loociano/advent-of-code) 
|
||||
|
||||
#### R
|
||||
|
||||
*Solutions to AoC in R.*
|
||||
|
||||
* [Cattiva/adventofcode](https://github.com/Cattiva/adventofcode) 
|
||||
* [EdwinTh/AoC_2019](https://github.com/EdwinTh/AoC_2019) 
|
||||
* [Morawski21/Advent-of-Code-2019-in-R](https://github.com/Morawski21/Advent-of-Code-2019-in-R) 
|
||||
* [adam-gruer/aoc2019](https://github.com/adam-gruer/aoc2019) 
|
||||
* [akulumbeg/adventofcode](https://github.com/akulumbeg/adventofcode) 
|
||||
* [davidmasp/adventofcode-dmp](https://github.com/davidmasp/adventofcode-dmp) 
|
||||
* [mpjdem/adventofcode2019](https://github.com/mpjdem/adventofcode2019) 
|
||||
* [plannapus/AdventOfCode2019](https://github.com/plannapus/AdventOfCode2019) 
|
||||
* [riinuots/advent2019](https://github.com/riinuots/advent2019) 
|
||||
* [rrrlw/advent-of-code-2019](https://github.com/rrrlw/advent-of-code-2019) 
|
||||
|
||||
#### Racket
|
||||
|
||||
*Solutions to AoC in Racket.*
|
||||
|
||||
* [samdphillips/aoc-2019](https://github.com/samdphillips/aoc-2019) 
|
||||
|
||||
#### ReasonML
|
||||
|
||||
*Solutions to AoC in ReasonML.*
|
||||
|
||||
* [believer/advent-of-code](https://github.com/believer/advent-of-code) 
|
||||
|
||||
#### Red
|
||||
|
||||
*Solutions to AoC in Red.*
|
||||
|
||||
#### Ruby
|
||||
|
||||
*Solutions to AoC in Ruby.*
|
||||
|
||||
* [Kazhuu/advent-of-code-2019](https://github.com/Kazhuu/advent-of-code-2019) 
|
||||
* [Keirua/adventofcode-rb](https://github.com/Keirua/adventofcode-rb) 
|
||||
* [Pungsnigel/advent_of_code_2019](https://github.com/Pungsnigel/advent_of_code_2019) 
|
||||
* [gjanee/advent-of-code-2019](https://github.com/gjanee/advent-of-code-2019) 
|
||||
|
||||
#### Rust
|
||||
|
||||
*Solutions to AoC in Rust.*
|
||||
|
||||
* [AlexAegis/advent-of-code](https://github.com/AlexAegis/advent-of-code) 
|
||||
* [AmauryCarrade/AdventOfCode2019](https://github.com/AmauryCarrade/AdventOfCode2019) 
|
||||
* [AxlLind/AdventOfCode2019](https://github.com/AxlLind/AdventOfCode2019) 
|
||||
* [DarthGandalf/advent-of-code](https://github.com/DarthGandalf/advent-of-code) 
|
||||
* [alyti/aoc-2019](https://github.com/alyti/aoc-2019) 
|
||||
* [bwearley/advent-of-code-2019](https://gitlab.com/bwearley/advent-of-code-2019/)
|
||||
* [dashed/advent-of-code](https://github.com/dashed/advent-of-code) 
|
||||
* [fornwall/advent-of-code-2019-rs](https://github.com/fornwall/advent-of-code-2019-rs) 
|
||||
* [gr-g/advent-of-code-2019](https://github.com/gr-g/advent-of-code-2019) 
|
||||
* [hashedone/advent-of-code-2019-rust](https://github.com/hashedone/advent-of-code-2019-rust) 
|
||||
* [jdlambert/advent-of-code-2019](https://github.com/jdlambert/advent-of-code-2019) 
|
||||
* [meyerphi/advent-of-code](https://github.com/meyerphi/advent-of-code) 
|
||||
* [richardwhiuk/adventofcode](https://github.com/richardwhiuk/adventofcode) 
|
||||
* [risboo6909/aoc2019-rust](https://github.com/risboo6909/aoc2019-rust) 
|
||||
* [RobbieClarken/AdventOfCode2019](https://github.com/RobbieClarken/AdventOfCode2019) 
|
||||
* [ThePants999/advent-of-code-2019](https://github.com/ThePants999/advent-of-code-2019) 
|
||||
* [thorstel/Advent-of-Code-2019](https://github.com/thorstel/Advent-of-Code-2019) 
|
||||
* [timvisee/advent-of-code-2019](https://github.com/timvisee/advent-of-code-2019) 
|
||||
* [zsacul/AoC2019](https://github.com/zsacul/AoC2019) 
|
||||
|
||||
#### Smalltalk
|
||||
|
||||
*Solutions to AoC in Smalltalk.*
|
||||
|
||||
* [thiagoslino/Advent-of-Code-2019](https://github.com/thiagoslino/Advent-of-Code-2019) 
|
||||
|
||||
#### Scala
|
||||
|
||||
*Solutions to AoC in Scala.*
|
||||
|
||||
* [FlorianCassayre/AdventOfCode-2019](https://github.com/FlorianCassayre/AdventOfCode-2019) 
|
||||
* [lupari/aoc](https://github.com/lupari/aoc2019/) 
|
||||
* [matelaszlo/advent-of-code-scala](https://github.com/matelaszlo/advent-of-code-scala) 
|
||||
* [sim642/adventofcode](https://github.com/sim642/adventofcode) 
|
||||
* [voivoid/scala-adventofcode](https://github.com/voivoid/scala-adventofcode) 
|
||||
|
||||
#### Scheme
|
||||
|
||||
*Solutions to AoC in Scheme.*
|
||||
|
||||
* [jitwit/aoc](https://github.com/jitwit/aoc) 
|
||||
* [nenadom/AdventOfCode](https://github.com/nenadom/AdventOfCode) 
|
||||
|
||||
#### Swift
|
||||
|
||||
*Solutions to AoC in Swift.*
|
||||
|
||||
* [davedelong/AOC](https://github.com/davedelong/AOC) 
|
||||
* [evilmint/AdventOfCode](https://github.com/evilmint/AdventOfCode) 
|
||||
* [fguchelaar/AdventOfCode2019](https://github.com/fguchelaar/AdventOfCode2019) 
|
||||
* [gernb/AdventOfCode2019](https://github.com/gernb/AdventOfCode2019) 
|
||||
* [bradleymackey/AdventOfCode2019](https://github.com/bradleymackey/advent-of-code-19)
|
||||
|
||||
#### TypeScript
|
||||
|
||||
*Solutions to AoC in TypeScript.*
|
||||
|
||||
* [AlexAegis/advent-of-code](https://github.com/AlexAegis/advent-of-code) 
|
||||
* [caderek/aoc2019](https://github.com/caderek/aoc2019) 
|
||||
* [florianfreier/AdventOfCode2019](https://github.com/florianfreier/AdventOfCode2019) 
|
||||
* [izexi/adventofcode2019](https://github.com/izexi/adventofcode2019) 
|
||||
* [sw-double/advent-of-code](https://github.com/sw-double/advent-of-code) 
|
||||
|
||||
#### Unison
|
||||
|
||||
*Solutions to AoC in Unison.*
|
||||
|
||||
* [BenFradet/aoc-2019](https://github.com/BenFradet/aoc-2019) 
|
||||
|
||||
#### Zig
|
||||
|
||||
*Solutions to AoC in Zig.*
|
||||
|
||||
### Live Streams
|
||||
|
||||
*Folks who are live streaming their process.*
|
||||
+6
-4
@@ -1,12 +1,14 @@
|
||||
# Contributing
|
||||
|
||||
To add a new repository to the list, find the appropriate section for
|
||||
the repository's language and add a new entry like this:
|
||||
the repository's language and add a new entry like this for
|
||||
GitHub-hosted repos:
|
||||
|
||||
* (https://github.com/username/repo)
|
||||
* [username/repo]
|
||||
|
||||
Save the file and then run `./scripts/add-badges.py` on the command
|
||||
line and then commit your changes.
|
||||
or like this for non-GH repos:
|
||||
|
||||
* [username/repo](https://somewhere-else.com/username/repo)
|
||||
|
||||
Don't link to files or folder within the tree since that messes up the
|
||||
badges. Users will be able to figure out where the code for the
|
||||
|
||||
@@ -7,3 +7,4 @@ This file lists the contributors to awesome-advent-of-code.
|
||||
| [@chinesedfan](https://github.com/chinesedfan) | Xianming Zhong |
|
||||
| [@dkvasnicka](https://github.com/dkvasnicka) | Daniel Kvasnička |
|
||||
| [@AlexAegis](https://github.com/AlexAegis) | Sándor Győri |
|
||||
| [@Kazhuu](https://github.com/Kazhuu) | Mauri Mustonen |
|
||||
@@ -11,7 +11,8 @@ This is a collection of awesome resources related to the yearly
|
||||
* [Tools and Utilities](#tools-and-utilities)
|
||||
* [Other Advent Calendars](#other-advent-calendars)
|
||||
* [2018](/2018.md)
|
||||
* [2019](#2019)
|
||||
* [2019](/2019.md)
|
||||
* [2020](#2020)
|
||||
* [Solutions](#solutions)
|
||||
* [AWK](#awk)
|
||||
* [Ada](#ada)
|
||||
@@ -31,7 +32,9 @@ This is a collection of awesome resources related to the yearly
|
||||
* [Go](#go)
|
||||
* [Groovy](#groovy)
|
||||
* [Haskell](#haskell)
|
||||
* [Haxe](#haxe)
|
||||
* [Idris](#idris)
|
||||
* [J](#J)
|
||||
* [Java](#java)
|
||||
* [JavaScript](#javascript)
|
||||
* [Julia](#julia)
|
||||
@@ -43,6 +46,7 @@ This is a collection of awesome resources related to the yearly
|
||||
* [Perl](#perl)
|
||||
* [Pony](#pony)
|
||||
* [PowerShell](#powershell)
|
||||
* [Prolog](#prolog)
|
||||
* [Python](#python)
|
||||
* [R](#r)
|
||||
* [Racket](#racket)
|
||||
@@ -55,6 +59,7 @@ This is a collection of awesome resources related to the yearly
|
||||
* [Scheme](#scheme)
|
||||
* [Swift](#swift)
|
||||
* [TypeScript](#typescript)
|
||||
* [Unison](#unison)
|
||||
* [Zig](#zig)
|
||||
* [Live Streams](#live-streams)
|
||||
|
||||
@@ -76,6 +81,9 @@ in your favourite language.*
|
||||
* [mhanberg/advent-of-code-clojure-starter](https://github.com/mhanberg/advent-of-code-clojure-starter) *(Clojure)*
|
||||
* [caderek/aoc-starter-js](https://github.com/caderek/aoc-starter-js) *(JavaScript)*
|
||||
* [caderek/aoc-starter-ts](https://github.com/caderek/aoc-starter-ts) *(TypeScript)*
|
||||
* [mariotacke/template-advent-of-code](https://github.com/mariotacke/template-advent-of-code) *(JavaScript)*
|
||||
* [arkadye/advent_of_code](https://github.com/arkadye/advent_of_code_framework) *(C++)*
|
||||
* [eduherminio/AdventOfCode.Template](https://github.com/eduherminio/AdventOfCode.Template) *(C#)*
|
||||
|
||||
## Tools and Utilities
|
||||
|
||||
@@ -87,15 +95,16 @@ in your favourite language.*
|
||||
* [aocdl](https://github.com/GreenLightning/advent-of-code-downloader) -- Command-line utility that automatically downloads your personal input file while you read the puzzle description *(Go)*.
|
||||
* [aoc-cli](https://github.com/keirua/aoc-cli) -- Command-line utility that helps solve problems in ruby: it downloads your personal input file, creates the sample source files and benchmarks your solutions *(Ruby)*.
|
||||
* [AoCHelper](https://github.com/eduherminio/AoCHelper) -- NuGet library that simplifies puzzle solving and provides benchmarking *(.NET)*.
|
||||
* [aocleaderboard](https://github.com/scarvalhojr/aocleaderboard) -- get over the 200-member limit for private leaderboards and combine multiple leaderboards in a single page with recalculated scores.
|
||||
|
||||
## Other Advent Calendars
|
||||
|
||||
*24 days of cool stuff regarding <insert-technology-here>.*
|
||||
|
||||
* [Perl6 Advent Calendar](https://perl6advent.wordpress.com/)
|
||||
* [Raku Advent Calendar](https://raku-advent.blog/)
|
||||
* [QEMU Advent Calendar](https://www.qemu-advent-calendar.org/)
|
||||
|
||||
## 2019
|
||||
## 2020
|
||||
|
||||
**WARNING:** All of these likely contain spoilers.
|
||||
|
||||
@@ -111,6 +120,8 @@ Read [CONTRIBUTING.md](/CONTRIBUTING.md) to learn how to add your own repos.
|
||||
|
||||
*Solutions to AoC in Ada.*
|
||||
|
||||
* [jwarwick/aoc_2020](https://github.com/jwarwick/aoc_2020) 
|
||||
|
||||
#### Bash
|
||||
|
||||
*Solutions to AoC in Bash.*
|
||||
@@ -119,71 +130,55 @@ Read [CONTRIBUTING.md](/CONTRIBUTING.md) to learn how to add your own repos.
|
||||
|
||||
*Solutions to AoC in C.*
|
||||
|
||||
* [coder5506/advent-of-code-2019](https://github.com/coder5506/advent-of-code-2019) 
|
||||
* [breakthatbass/advent_of_code2020](https://github.com/breakthatbass/advent_of_code2020) 
|
||||
|
||||
#### C#
|
||||
|
||||
*Solutions to AoC in C#.*
|
||||
|
||||
* [AnkurSheel/AdventOfCode2019](https://github.com/AnkurSheel/AdventOfCode2019) 
|
||||
* [alexchro93/AdventOfCode](https://github.com/alexchro93/AdventOfCode) 
|
||||
* [eduherminio/AoC2019](https://github.com/eduherminio/AoC2019) 
|
||||
* [encse/adventofcode](https://github.com/encse/adventofcode) 
|
||||
* [sanraith/aoc2019](https://github.com/sanraith/aoc2019) 
|
||||
* [sindrekjr/AdventOfCode](https://github.com/sindrekjr/AdventOfCode) 
|
||||
* [viceroypenguin/adventofcode](https://github.com/viceroypenguin/adventofcode) 
|
||||
* [eduherminio/AoC2020](https://github.com/eduherminio/AoC2020) 
|
||||
|
||||
#### C++
|
||||
|
||||
*Solutions to AoC in C++.*
|
||||
|
||||
* [voivoid/advent-of-code](https://github.com/voivoid/advent-of-code) 
|
||||
* [Sciencentistguy/AdventOfCode](https://github.com/Sciencentistguy/AdventOfCode) 
|
||||
* [Kazhuu/advent-of-code-2020](https://github.com/Kazhuu/advent-of-code-2020) 
|
||||
* [DarthGandalf/advent-of-code](https://github.com/DarthGandalf/advent-of-code) 
|
||||
|
||||
#### Clojure
|
||||
|
||||
*Solutions to AoC in Clojure.*
|
||||
|
||||
* [agrison/advent-of-code-2019](https://github.com/agrison/advent-of-code-2019/) 
|
||||
* [alexparlett/advent-of-code-2019](https://github.com/alexparlett/advent-of-code-2019) 
|
||||
* [fctorial/adventofcode2019-clojure](https://github.com/fctorial/adventofcode2019-clojure) 
|
||||
* [fdlk/advent-2019](https://github.com/fdlk/advent-2019) 
|
||||
* [felipecortez/advent-of-code](https://github.com/felipecortez/advent-of-code) 
|
||||
* [rjray/advent-2020-clojure](https://github.com/rjray/advent-2020-clojure) 
|
||||
* [callum-oakley/advent-of-code-2020](https://github.com/callum-oakley/advent-of-code-2020) 
|
||||
|
||||
#### Common Lisp
|
||||
|
||||
*Solutions to AoC in Common Lisp.*
|
||||
|
||||
* [topikettunen/advent-of-code-2019](https://github.com/topikettunen/advent-of-code-2019) 
|
||||
* [atgreen/advent-of-code-2020](https://github.com/atgreen/advent-of-code-2020) 
|
||||
* [m3m0ry/2020-aoc](https://github.com/m3m0ry/2020-aoc) 
|
||||
* [~zge/aoc20](https://git.sr.ht/~zge/aoc20)
|
||||
|
||||
#### Crystal
|
||||
|
||||
*Solutions to AoC in Crystal.*
|
||||
|
||||
* [PenguinOwl/advent2019](https://github.com/PenguinOwl/advent2019) 
|
||||
* [salival1/advent-2019](https://github.com/salival1/advent-2019) 
|
||||
|
||||
#### D
|
||||
|
||||
*Solutions to AoC in D.*
|
||||
|
||||
* [jrfondren/adventofcode](https://github.com/jrfondren/adventofcode) 
|
||||
|
||||
#### Dart
|
||||
|
||||
*Solutions to AoC in Dart.*
|
||||
|
||||
* [julemand101/AdventOfCode2019](https://github.com/julemand101/AdventOfCode2019) 
|
||||
* [julemand101/AdventOfCode2020](https://github.com/julemand101/AdventOfCode2020) 
|
||||
|
||||
#### Elixir
|
||||
|
||||
*Solutions to AoC in Elixir.*
|
||||
|
||||
* [Firebain/adventofcode](https://github.com/Firebain/adventofcode) 
|
||||
* [dunyakirkali/aoc](https://github.com/dunyakirkali/aoc) 
|
||||
* [es1o/adventofcode](https://github.com/es1o/adventofcode) 
|
||||
* [jwarwick/aoc_2019](https://github.com/jwarwick/aoc_2019) 
|
||||
* [manniL/aoc-2019-elixir](https://github.com/manniL/aoc-2019-elixir) 
|
||||
|
||||
#### Elm
|
||||
|
||||
*Solutions to AoC in Elm and Literate Elm.*
|
||||
@@ -192,28 +187,19 @@ Read [CONTRIBUTING.md](/CONTRIBUTING.md) to learn how to add your own repos.
|
||||
|
||||
*Solutions to AoC in Erlang.*
|
||||
|
||||
* [rhbvkleef/aoc2019](https://github.com/rhbvkleef/aoc2019) 
|
||||
|
||||
#### F#
|
||||
|
||||
*Solutions to AoC in F#.*
|
||||
|
||||
* [CameronAavik/AdventOfCode](https://github.com/CameronAavik/AdventOfCode) 
|
||||
* [ChrisPritchard/AdventOfCode](https://github.com/ChrisPritchard/AdventOfCode) 
|
||||
* [wimex/AdventOfCode2020](https://github.com/wimex/AdventOfCode2020) 
|
||||
|
||||
#### Go
|
||||
|
||||
*Solutions to AoC in Go.*
|
||||
|
||||
* [GreenLightning/aoc19](https://github.com/GreenLightning/aoc19) 
|
||||
* [Ullaakut/aoc19](https://github.com/Ullaakut/aoc19) 
|
||||
* [chigley/advent2019](https://github.com/chigley/advent2019) 
|
||||
* [davidaayers/advent-of-code-2019](https://github.com/davidaayers/advent-of-code-2019) 
|
||||
* [devries/advent_of_code_2019](https://github.com/devries/advent_of_code_2019) 
|
||||
* [gliderGeek/adventofcode19](https://github.com/gliderGeek/adventofcode19) 
|
||||
* [howden/advent19](https://github.com/howden/advent19) 
|
||||
* [kissgyorgy/adventofcode2019](https://github.com/kissgyorgy/adventofcode2019) 
|
||||
* [lynerist/Advent-of-code-2019-golang](https://github.com/lynerist/Advent-of-code-2019-golang) 
|
||||
* [nlowe/aoc2020](https://github.com/nlowe/aoc2020) 
|
||||
* [thlacroix/goadvent](https://github.com/thlacroix/goadvent) 
|
||||
* [dds/aoc2020](https://github.com/dds/aoc2020) 
|
||||
|
||||
#### Groovy
|
||||
|
||||
@@ -223,161 +209,134 @@ Read [CONTRIBUTING.md](/CONTRIBUTING.md) to learn how to add your own repos.
|
||||
|
||||
*Solutions to AoC in Haskell.*
|
||||
|
||||
* [ephemient/aoc2019#hs](https://github.com/ephemient/aoc2019/tree/hs) 
|
||||
* [glguy/advent2019](https://github.com/glguy/advent2019) 
|
||||
* [hashedone/advent-of-code-2019-hask](https://github.com/hashedone/advent-of-code-2019-hask) 
|
||||
* [nrdmn/adventofcode2019](https://github.com/nrdmn/adventofcode2019) 
|
||||
* [webbiscuit/adventofcode](https://github.com/webbiscuit/adventofcode) 
|
||||
* [bzuilhof/AdventOfCode](https://github.com/bzuilhof/AdventOfCode) 
|
||||
* [ephemient/aoc2020](https://github.com/ephemient/aoc2020) 
|
||||
* [haskelling/aoc2020](https://github.com/haskelling/aoc2020) 
|
||||
* [jitwit/aoc](https://github.com/jitwit/aoc) 
|
||||
* [Sciencentistguy/AdventOfCode](https://github.com/Sciencentistguy/AdventOfCode) 
|
||||
|
||||
#### Haxe
|
||||
|
||||
*Solutions to AoC in Haxe.*
|
||||
|
||||
#### Idris
|
||||
|
||||
*Solutions to AoC in Idris.*
|
||||
|
||||
* [xWafl/aoc-2020-idris](https://github.com/xWafl/aoc-2020-idris) 
|
||||
|
||||
#### J
|
||||
|
||||
*Solutions to AoC in J.*
|
||||
|
||||
* [jitwit/aoc](https://github.com/jitwit/aoc) 
|
||||
|
||||
#### Java
|
||||
|
||||
*Solutions to AoC in Java.*
|
||||
|
||||
* [SimonBaars/adventOfCode-2019](https://github.com/SimonBaars/adventOfCode-2019) 
|
||||
* [agrison/advent-of-code-2019](https://github.com/agrison/advent-of-code-2019/) 
|
||||
* [giganova/advent-of-code-2019-java](https://github.com/giganova/advent-of-code-2019-java) 
|
||||
* [SizableShrimp/AdventOfCode2020](https://github.com/SizableShrimp/AdventOfCode2020) 
|
||||
* [akaritakai/AdventOfCode2020](https://github.com/akaritakai/AdventOfCode2020) 
|
||||
|
||||
#### JavaScript
|
||||
|
||||
*Solutions to AoC in JavaScript.*
|
||||
|
||||
* [GigaNova/advent-of-code-2019](https://github.com/GigaNova/advent-of-code-2019) 
|
||||
* [Jedi-Fullstack-Avengers/AdventOfCode](https://github.com/Jedi-Fullstack-Avengers/AdventOfCode) 
|
||||
* [RaedsLab/advent-of-code](https://github.com/RaedsLab/advent-of-code) 
|
||||
* [arnauddrain/advent-of-code-2019](https://github.com/arnauddrain/advent-of-code-2019) 
|
||||
* [atme/advent-of-code](https://github.com/atme/advent-of-code) 
|
||||
* [bureson/advent-of-code-2019](https://github.com/bureson/advent-of-code-2019) 
|
||||
* [chinesedfan/adventofcode](https://github.com/chinesedfan/adventofcode) 
|
||||
* [countzero/advent_of_code](https://github.com/countzero/advent_of_code) 
|
||||
* [entibo/advent-of-code-golf-2019](https://github.com/entibo/advent-of-code-golf-2019) 
|
||||
* [gamma032steam/Advent-of-code](https://github.com/gamma032steam/Advent-of-code) 
|
||||
* [gavinhenderson/advent-of-code](https://github.com/gavinhenderson/advent-of-code) 
|
||||
* [imsalahdev/adventofcode-2019](https://github.com/imsalahdev/adventofcode-2019) 
|
||||
* [jackcutting/aoc2019](https://github.com/jackcutting/aoc2019) 
|
||||
* [mdelerue/AdventOfCode](https://github.com/mdelerue/AdventOfCode) 
|
||||
* [vguerrerobosch/advent-of-code-2019](https://github.com/vguerrerobosch/advent-of-code-2019) 
|
||||
* [vuryss/aoc-2019](https://github.com/vuryss/aoc-2019) 
|
||||
* [adriennetacke/advent-of-code-2020](https://github.com/adriennetacke/advent-of-code-2020) 
|
||||
* [mariotacke/advent-of-code-2020](https://github.com/mariotacke/advent-of-code-2020) 
|
||||
* [ryanolsonx/aocjs](https://github.com/ryanolsonx/aocjs) 
|
||||
* [mdunisch/adventOfCode2020](https://github.com/mdunisch/adventOfCode2020) 
|
||||
* [AxemaFr/AdventOfCode-2020](https://github.com/AxemaFr/AdventOfCode-2020) 
|
||||
|
||||
#### Julia
|
||||
|
||||
*Solutions to AoC in Julia.*
|
||||
|
||||
* [gsoleilhac/aoc19.jl](https://github.com/gsoleilhac/aoc19.jl) 
|
||||
* [kamilbeker/aoc2019.jl](https://github.com/kamilbeker/aoc2019.jl) 
|
||||
* [racinmat/advent_of_code_2019](https://github.com/racinmat/advent_of_code_2019) 
|
||||
* [racinmat/advent_of_code_2020](https://github.com/racinmat/advent_of_code_2020) 
|
||||
|
||||
#### Kotlin
|
||||
|
||||
*Solutions to AoC in Kotlin.*
|
||||
|
||||
* [0legg/adventofcode](https://github.com/0legg/adventofcode) 
|
||||
* [daafith/advent-of-code-2019](https://github.com/daafith/advent-of-code-2019) 
|
||||
* [ephemient/aoc2019#kt](https://github.com/ephemient/aoc2019/tree/kt) 
|
||||
* [hughjdavey/aoc-2019](https://github.com/hughjdavey/aoc-2019) 
|
||||
* [mew/aoc-2019](https://github.com/mew/aoc-2019) 
|
||||
* [edgars-supe/advent-of-code](https://github.com/edgars-supe/advent-of-code) 
|
||||
* [ephemient/aoc2020](https://github.com/ephemient/aoc2020) 
|
||||
* [janbina/advent-of-code-2020](https://github.com/janbina/advent-of-code-2020) 
|
||||
* [nschwermann/AdventOfCode](https://github.com/nschwermann/AdventOfCode) 
|
||||
* [yangzii0920/advent-of-code-2020](https://github.com/yangzii0920/advent-of-code-2020) 
|
||||
* [hughjdavey/advent-of-code-2020](https://github.com/hughjdavey/aoc-2020) 
|
||||
|
||||
#### LDPL
|
||||
|
||||
*Solutions to AoC in LDPL.*
|
||||
|
||||
* [Lartu/adventOfCode2019](https://github.com/Lartu/adventOfCode2019) 
|
||||
* [dgarroDC/advent-of-code-2019-ldpl](https://github.com/dgarroDC/advent-of-code-2019-ldpl) 
|
||||
|
||||
#### Nim
|
||||
|
||||
*Solutions to AoC in Nim.*
|
||||
|
||||
* [pietroppeter/adventofnim](https://github.com/pietroppeter/adventofnim) 
|
||||
|
||||
#### OCaml
|
||||
|
||||
*Solutions to AoC in OCaml.*
|
||||
|
||||
* [georgek42/AOC2019](https://github.com/georgek42/AOC2019) 
|
||||
|
||||
#### PHP
|
||||
|
||||
*Solutions to AoC in PHP.*
|
||||
|
||||
* [aran112000/Advent-of-Code-2019-PHP](https://github.com/aran112000/Advent-of-Code-2019-PHP) 
|
||||
* [cbzink/advent-of-code-2019](https://github.com/cbzink/advent-of-code-2019) 
|
||||
* [vuryss/aoc-2019](https://github.com/vuryss/aoc-2019) 
|
||||
|
||||
#### Perl
|
||||
|
||||
*Solutions to AoC in Perl.*
|
||||
|
||||
* [lskatz/advent-of-code](https://github.com/lskatz/advent-of-code) 
|
||||
|
||||
#### Pony
|
||||
|
||||
*Solutions to AoC in Pony.*
|
||||
|
||||
#### Prolog
|
||||
|
||||
*Solutions to AoC in Prolog.*
|
||||
|
||||
#### PowerShell
|
||||
|
||||
*Solutions to AoC in PowerShell.*
|
||||
|
||||
* [Crucerio/adventofcode](https://github.com/Crucerio/adventofcode) 
|
||||
* [martinkonopka/AdventOfCode2019](https://github.com/martinkonopka/AdventOfCode2019) 
|
||||
* [sgruber94/awesome-advent-of-code2020](https://github.com/sgruber94/awesome-advent-of-code2020) 
|
||||
|
||||
#### Python
|
||||
|
||||
*Solutions to AoC in Python.*
|
||||
|
||||
* [0x8b/advent-of-code-2019](https://github.com/0x8b/advent-of-code-2019) 
|
||||
* [Akumatic/Advent-of-Code](https://github.com/Akumatic/Advent-of-Code) 
|
||||
* [BogDAAAMN/advent-of-code](https://github.com/BogDAAAMN/advent-of-code) 
|
||||
* [Dementophobia/advent-of-code-2019](https://github.com/Dementophobia/advent-of-code-2019) 
|
||||
* [IFinners/advent-of-code](https://github.com/IFinners/advent-of-code) 
|
||||
* [JasonCannon/advent-of-code-2019](https://github.com/JasonCannon/advent-of-code-2019) 
|
||||
* [Kurocon/AdventOfCode2019](https://github.com/Kurocon/AdventOfCode2019) 
|
||||
* [Levivig/AdventOfCode2019](https://github.com/Levivig/AdventOfCode2019) 
|
||||
* [Miccowhy/adventofcode2019](https://github.com/Miccowhy/adventofcode2019) 
|
||||
* [PatMyron/advent-of-code](https://github.com/PatMyron/advent-of-code) 
|
||||
* [TristoKrempita/advent-of-code](https://github.com/TristoKrempita/advent-of-code) 
|
||||
* [a-red-christmas/aoc2019-ae](https://github.com/a-red-christmas/aoc2019-ae) 
|
||||
* [elvinyhlee/advent-of-code-2019-python](https://github.com/elvinyhlee/advent-of-code-2019-python) 
|
||||
* [ephemient/aoc2019#py](https://github.com/ephemient/aoc2019/tree/py) 
|
||||
* [gbusch/AdventOfCode](https://github.com/gbusch/AdventOfCode) 
|
||||
* [juffalow/advent-of-code](https://github.com/juffalow/advent-of-code) 
|
||||
* [mebeim/aoc](https://github.com/mebeim/aoc) 
|
||||
* [metzbernhard/aoc2019](https://github.com/metzbernhard/aoc2019) 
|
||||
* [mevdschee/AdventOfCode2019](https://github.com/mevdschee/AdventOfCode2019) 
|
||||
* [mpindaro/advent-of-code-2019](https://bitbucket.org/mpindaro/advent-of-code-2019/src/master/)
|
||||
* [polhec42/AOC](https://github.com/polhec42/AOC) 
|
||||
* [ste001/advent-of-code-2019](https://github.com/ste001/advent-of-code-2019) 
|
||||
* [vincent-vega/adventofcode](https://github.com/vincent-vega/adventofcode) 
|
||||
* [visini/aoc2019](https://github.com/visini/aoc2019) 
|
||||
* [zenieldanaku/AdventOfCode](https://github.com/zenieldanaku/AdventOfCode) 
|
||||
* [Akumatic/Advent-of-Code](https://github.com/Akumatic/Advent-of-Code) 
|
||||
* [IanFindlay/advent-of-code](https://github.com/IanFindlay/advent-of-code) 
|
||||
* [Kurocon/AdventOfCode2020](https://github.com/Kurocon/AdventOfCode2020) 
|
||||
* [Levivig/AdventOfCode2020](https://github.com/Levivig/AdventOfCode2020) 
|
||||
* [Robin-Bakker/advent-of-code](https://github.com/Robin-Bakker/advent-of-code) 
|
||||
* [eliseomartelli/Advent-of-Code-2020](https://github.com/eliseomartelli/Advent-of-Code-2020) 
|
||||
* [elvinyhlee/advent-of-code-2020-python](https://github.com/elvinyhlee/advent-of-code-2020-python) 
|
||||
* [ephemient/aoc2020](https://github.com/ephemient/aoc2020) 
|
||||
* [gamma032steam/Advent-of-code-2020](https://github.com/gamma032steam/Advent-of-code-2020) 
|
||||
* [gbusch/AdventOfCode/](https://github.com/gbusch/AdventOfCode/) 
|
||||
* [hmludwig/aoc2020](https://github.com/hmludwig/aoc2020) 
|
||||
* [matus-pikuliak/advent_2020](https://github.com/matus-pikuliak/advent_2020) 
|
||||
* [mebeim/aoc](https://github.com/mebeim/aoc) 
|
||||
* [peter-roland-toth/AoC-2020-Python](https://github.com/peter-roland-toth/AoC-2020-Python) 
|
||||
* [silverben10/aoc](https://github.com/silverben10/aoc) 
|
||||
|
||||
#### R
|
||||
|
||||
*Solutions to AoC in R.*
|
||||
|
||||
* [Cattiva/adventofcode](https://github.com/Cattiva/adventofcode) 
|
||||
* [EdwinTh/AoC_2019](https://github.com/EdwinTh/AoC_2019) 
|
||||
* [Morawski21/Advent-of-Code-2019-in-R](https://github.com/Morawski21/Advent-of-Code-2019-in-R) 
|
||||
* [adam-gruer/aoc2019](https://github.com/adam-gruer/aoc2019) 
|
||||
* [akulumbeg/adventofcode](https://github.com/akulumbeg/adventofcode) 
|
||||
* [davidmasp/adventofcode-dmp](https://github.com/davidmasp/adventofcode-dmp) 
|
||||
* [mpjdem/adventofcode2019](https://github.com/mpjdem/adventofcode2019) 
|
||||
* [riinuots/advent2019](https://github.com/riinuots/advent2019) 
|
||||
* [nirski/aoc20](https://gitlab.com/nirski/aoc20)
|
||||
* [plannapus/Advent_of_Code](https://github.com/plannapus/Advent_of_Code) 
|
||||
|
||||
#### Racket
|
||||
|
||||
*Solutions to AoC in Racket.*
|
||||
|
||||
* [samdphillips/aoc-2019](https://github.com/samdphillips/aoc-2019) 
|
||||
* [Bogdanp/aoc2020](https://github.com/Bogdanp/aoc2020) 
|
||||
|
||||
#### ReasonML
|
||||
|
||||
*Solutions to AoC in ReasonML.*
|
||||
|
||||
* [believer/advent-of-code](https://github.com/believer/advent-of-code) 
|
||||
|
||||
#### Red
|
||||
|
||||
*Solutions to AoC in Red.*
|
||||
@@ -386,58 +345,57 @@ Read [CONTRIBUTING.md](/CONTRIBUTING.md) to learn how to add your own repos.
|
||||
|
||||
*Solutions to AoC in Ruby.*
|
||||
|
||||
* [Kazhuu/advent-of-code-2019](https://github.com/Kazhuu/advent-of-code-2019) 
|
||||
* [Keirua/adventofcode-rb](https://github.com/Keirua/adventofcode-rb) 
|
||||
* [Pungsnigel/advent_of_code_2019](https://github.com/Pungsnigel/advent_of_code_2019) 
|
||||
* [ni3t/advent-2020](https://github.com/ni3t/advent-2020) 
|
||||
|
||||
#### Rust
|
||||
|
||||
*Solutions to AoC in Rust.*
|
||||
|
||||
* [AlexAegis/advent-of-code](https://github.com/AlexAegis/advent-of-code) 
|
||||
* [AmauryCarrade/AdventOfCode2019](https://github.com/AmauryCarrade/AdventOfCode2019) 
|
||||
* [DarthGandalf/advent-of-code](https://github.com/DarthGandalf/advent-of-code) 
|
||||
* [alyti/aoc-2019](https://github.com/alyti/aoc-2019) 
|
||||
* [dashed/advent-of-code](https://github.com/dashed/advent-of-code) 
|
||||
* [fornwall/advent-of-code-2019-rs](https://github.com/fornwall/advent-of-code-2019-rs) 
|
||||
* [hashedone/advent-of-code-2019-rust](https://github.com/hashedone/advent-of-code-2019-rust) 
|
||||
* [meyerphi/advent-of-code](https://github.com/meyerphi/advent-of-code) 
|
||||
* [notviri/aoc2019](https://github.com/notviri/aoc2019) 
|
||||
* [believer/advent-of-code](https://github.com/believer/advent-of-code) 
|
||||
* [ephemient/aoc2020](https://github.com/ephemient/aoc2020) 
|
||||
* [hashedone/aoc2020](https://github.com/hashedone/aoc2020) 
|
||||
* [youngtrashbag/adventofcode](https://github.com/youngtrashbag/adventofcode) 
|
||||
* [tejasbubane/adventofcode-2020](https://github.com/tejasbubane/adventofcode-2020) 
|
||||
|
||||
#### Smalltalk
|
||||
|
||||
*Solutions to AoC in Smalltalk.*
|
||||
|
||||
* [thiagoslino/Advent-of-Code-2019](https://github.com/thiagoslino/Advent-of-Code-2019) 
|
||||
|
||||
#### Scala
|
||||
|
||||
*Solutions to AoC in Scala.*
|
||||
|
||||
* [FlorianCassayre/AdventOfCode-2019](https://github.com/FlorianCassayre/AdventOfCode-2019) 
|
||||
* [matelaszlo/advent-of-code-scala](https://github.com/matelaszlo/advent-of-code-scala) 
|
||||
* [sim642/adventofcode](https://github.com/sim642/adventofcode) 
|
||||
* [niedrist/advent-of-code-2020](https://github.com/niedrist/advent-of-code-2020) 
|
||||
* [sim642/adventofcode](https://github.com/sim642/adventofcode) 
|
||||
|
||||
#### Scheme
|
||||
|
||||
*Solutions to AoC in Scheme.*
|
||||
|
||||
* [nenadom/AdventOfCode](https://github.com/nenadom/AdventOfCode) 
|
||||
* [jitwit/aoc](https://github.com/jitwit/aoc) 
|
||||
|
||||
#### Swift
|
||||
|
||||
*Solutions to AoC in Swift.*
|
||||
|
||||
* [evilmint/AdventOfCode](https://github.com/evilmint/AdventOfCode) 
|
||||
* [fguchelaar/AdventOfCode2019](https://github.com/fguchelaar/AdventOfCode2019) 
|
||||
* [fguchelaar/AdventOfCode2020](https://github.com/fguchelaar/AdventOfCode2020) 
|
||||
* [gernb/AdventOfCode2020](https://github.com/gernb/AdventOfCode2020) 
|
||||
* [juanj/AdventOfCode2020](https://github.com/juanj/AdventOfCode2020) 
|
||||
* [lighthouse16/AdventCode2020](https://github.com/lighthouse16/AdventCode2020) 
|
||||
|
||||
#### TypeScript
|
||||
|
||||
*Solutions to AoC in TypeScript.*
|
||||
|
||||
* [AlexAegis/advent-of-code](https://github.com/AlexAegis/advent-of-code) 
|
||||
* [caderek/aoc2019](https://github.com/caderek/aoc2019) 
|
||||
* [florianfreier/AdventOfCode2019](https://github.com/florianfreier/AdventOfCode2019) 
|
||||
* [AlexAegis/advent-of-code](https://github.com/AlexAegis/advent-of-code) 
|
||||
* [RubenVerg/aoc2020](https://github.com/RubenVerg/aoc2020) 
|
||||
* [adaamz/advent-of-code-2020](https://github.com/adaamz/advent-of-code-2020) 
|
||||
* [milanosie/adventofcode2020](https://github.com/milanosie/adventofcode2020) 
|
||||
* [GliderGeek/adventofcode20](https://github.com/GliderGeek/adventofcode20) 
|
||||
|
||||
#### Unison
|
||||
|
||||
*Solutions to AoC in Unison.*
|
||||
|
||||
#### Zig
|
||||
|
||||
@@ -446,3 +404,24 @@ Read [CONTRIBUTING.md](/CONTRIBUTING.md) to learn how to add your own repos.
|
||||
### Live Streams
|
||||
|
||||
*Folks who are live streaming their process.*
|
||||
|
||||
* [Alca](https://twitch.tv/Alca) (JavaScript)
|
||||
* [ClysmiC](https://twitch.tv/clysmic) (C++)
|
||||
* [Pewqazz](https://twitch.tv/Pewqazz) (Python)
|
||||
* [Ph3rny](https://twitch.tv/anthonywritescode) (Python)
|
||||
* [anagonlive](https://twitch.tv/anagonlive) (Python)
|
||||
* [chrisforrence](https://twitch.tv/chrisforrence) (PHP)
|
||||
* [dr_njitram](https://twitch.tv/dr_njitram) (Python)
|
||||
* [hurlian](https://twitch.tv/hurlian) (Python)
|
||||
* [jonathan_paulson](https://www.youtube.com/channel/UCuWLIm0l4sDpEe28t41WITA/videos) (Python)
|
||||
* [jwise00](https://www.youtube.com/channel/UCBHySN2FtVPxEJxYU1PXTHA) (Lua)
|
||||
* [lizthegrey](https://twitch.tv/lizthegrey) (Go)
|
||||
* [lukechampine](https://twitch.tv/nemo1618) (Go/Zig)
|
||||
* [martinjaniczek](https://twitch.tv/martinjaniczek) (Elm)
|
||||
* [maryjostaebler](https://www.twitch.tv/maryjostaebler) (JavaScript)
|
||||
* [nicuveo](https://twitch.tv/nicuveo) (Haskell)
|
||||
* [pengiswe](https://www.twitch.tv/pengiswe) (Excel)
|
||||
* [psymar_](https://twitch.tv/psymar_) (Python)
|
||||
* [spaceboyr00](https://twitch.tv/spaceboyr00) (Python)
|
||||
* [theypsilon](https://www.youtube.com/playlist?list=PL959l4g0Ko1riV3QU_qcTgue41y4S7ffP) (Rust)
|
||||
* [yernab](https://twitch.tv/yernab) (APL)
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
import re
|
||||
import os
|
||||
|
||||
README_PATH = os.path.join(os.path.dirname(__file__), "..", "README.md")
|
||||
REPO_RE = re.compile(r"https://github.com/(?P<user>[^/]+?)/(?P<repo>[^/\)]+?)\)")
|
||||
|
||||
lines = []
|
||||
past_solutions = False
|
||||
with open(README_PATH) as f:
|
||||
for line in f:
|
||||
if not past_solutions:
|
||||
if "### Solutions" in line:
|
||||
past_solutions = True
|
||||
|
||||
lines.append(line)
|
||||
continue
|
||||
|
||||
match = REPO_RE.search(line)
|
||||
if match is not None:
|
||||
user = match.groupdict()["user"]
|
||||
repo = match.groupdict()["repo"]
|
||||
lines.append(
|
||||
f"* [{user}/{repo}](https://github.com/{user}/{repo}) "
|
||||
f""
|
||||
f"\n"
|
||||
)
|
||||
|
||||
else:
|
||||
lines.append(line)
|
||||
|
||||
with open(README_PATH, "w") as f:
|
||||
f.write("".join(lines))
|
||||
Reference in new issue
Block a user