Created
August 31, 2020 12:29
-
-
Save baptadn/e4d15f9bc8ac363358b4d50d2b1efd97 to your computer and use it in GitHub Desktop.
Activity in an ASCII Apple Macintosh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const axios = require('axios'); | |
| const maps = ['A', 'B', 'C', 'D', 'E', 'F']; | |
| const ROWS_COUNT = 6; | |
| const COLUMN_COUNT = 9; | |
| const USERNAME = 'shinework' | |
| let TEMPLATE = ` | |
| __________________________ | |
| __..--/".' '. | |
| __..--"" | | | | |
| / | | ___________________ | | |
| ; | | :_activity_________/: | | |
| | | | |A A A A A A A A A'.| | | |
| | | | |B B B B B B B B B || | | |
| | | | |C C C C C C C C C || | | |
| | | | |D D D D D D D D D || | | |
| | | | |E E E E E E E E E || | | |
| | | | |F F F F F F F F F || | | |
| | | | |______......-----"\| | | |
| | | | |_______......-----" | | |
| | | | ____----| | |
| | | |_____.....----|#######|---| | |
| | | |______.....----"""" | | |
| | | | | | |
| |... .... | | () ----- """ .' | |
| |..... ...... |\|_| ____......------"""|" | |
| |. .... .......| |"""""" | | |
| '... ..... ....| | | | |
| "-._ ..... .| | | | |
| "-._.....| | ___...---"""' | |
| "-._.| | ___...---""" | |
| """"" | |
| `; | |
| const replaceBySquare = (row) => | |
| row.map((value) => { | |
| if (value === 0) { | |
| return '□'; | |
| } else if (value <= 3) { | |
| return '▥'; | |
| } | |
| return '■'; | |
| }); | |
| const build = async () => { | |
| const response = await axios( | |
| `https://github-calendar.herokuapp.com/commits/${USERNAME}` | |
| ); | |
| const commits = response.data.data; | |
| const latestCommits = commits.slice(commits.length - 54, commits.length); | |
| Array.from(Array(ROWS_COUNT).keys()).forEach((_, index) => { | |
| TEMPLATE = TEMPLATE.replace( | |
| Array.from(Array(COLUMN_COUNT).keys()) | |
| .map(() => maps[index]) | |
| .join(' '), | |
| replaceBySquare(latestCommits.slice(index * COLUMN_COUNT, COLUMN_COUNT * (index + 1))).join(' ') | |
| ); | |
| }); | |
| console.log(TEMPLATE); | |
| }; | |
| build(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment