mirror of
https://github.com/marvinscham/marvinscham.git
synced 2026-05-09 10:55:47 +02:00
Compare commits
953 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b0dda21306 | |||
| f85246f273 | |||
| 6cc6db9b19 | |||
| 7de1728b8f | |||
| 2ef2c36c12 | |||
| 65b912bfb4 | |||
| 9a288f146f | |||
| c785c8c232 | |||
| bcb7dadc95 | |||
| 3ffcb2c4a6 | |||
| f4c8cdf16c | |||
| 981541f881 | |||
| 589d0952fc | |||
| d1ffe106ef | |||
| 85a3c57325 | |||
| b8e7ac7bae | |||
| feb062d113 | |||
| 604ff213a5 | |||
| 06c134d9eb | |||
| 4c218f97b4 | |||
| f571efa178 | |||
| c12bfca156 | |||
| 018dba8ed5 | |||
| cff6ec8cd1 | |||
| dda97c7b4e | |||
| b96f87ab20 | |||
| 06c50a5c57 | |||
| 7a59aa59c7 | |||
| c91be3a7f0 | |||
| bac021c11e | |||
| 4b44992cde | |||
| 64a575304d | |||
| 9e32f55503 | |||
| d989fc16a0 | |||
| 4bf15bd1d9 | |||
| 42297bf512 | |||
| 276d8f6901 | |||
| 1ee1efb162 | |||
| c08ad6fb51 | |||
| 53c6e92fb9 | |||
| a2bc9ed592 | |||
| cafbd33250 | |||
| 340c123b8f | |||
| 78e7ac82dd | |||
| b4786b7e43 | |||
| 3ecf392f6e | |||
| 11a74afa61 | |||
| e2311e8e49 | |||
| ad159169e0 | |||
| 174d4f206d | |||
| 33a7f10baf | |||
| fd69e09052 | |||
| ac1e8cdd4f | |||
| 109b8b6352 | |||
| ba586fd5e5 | |||
| 4ec2978e58 | |||
| 758f9c9a9f | |||
| e0c31c656a | |||
| a6d3dcc371 | |||
| eb998214df | |||
| 9894c6df45 | |||
| 61ec8fe13e | |||
| 37e16c893d | |||
| f96f1e1f97 | |||
| d92105deff | |||
| 997c6323db | |||
| 9fec3ad6f4 | |||
| 2a247831b6 | |||
| 05baa5e672 | |||
| 228a81dfa9 | |||
| 22bfd0cb19 | |||
| 97700c6d04 | |||
| ac6ae61f8b | |||
| fbe670532e | |||
| 84b954a0af | |||
| ded875c44d | |||
| 72634e2155 | |||
| 01f7bfccca | |||
| a69c90b945 | |||
| 7774d1304d | |||
| 0be81bffec | |||
| 04827d4f03 | |||
| d5a923a344 | |||
| 10a6361d21 | |||
| 1e53b9e7d0 | |||
| 757185bfd1 | |||
| 355fe2a40f | |||
| d4cb19baf3 | |||
| b6e386e3e5 | |||
| 4e734f516c | |||
| 5763c2ee34 | |||
| 9c8848718f | |||
| be3f1df47e | |||
| 0012f391a9 | |||
| 91e3200636 | |||
| e305286a55 | |||
| 36a4f7c2e4 | |||
| a72027f940 | |||
| 9c93ff5f36 | |||
| d990db22ff | |||
| 2d32e6c938 | |||
| 7d5ddc481a | |||
| ccc97e375e | |||
| 030c12c604 | |||
| e0e88388d9 | |||
| ebf23513bf | |||
| ead2b5aaf9 | |||
| 64d708f42a | |||
| cc10ceffbb | |||
| 90bcbb2d80 | |||
| 7105d64e53 | |||
| 7efcd410a8 | |||
| 7014078d63 | |||
| f4d1513d78 | |||
| 572ffbe263 | |||
| 981d734ea3 | |||
| e6b5eb5a85 | |||
| 9be620e03b | |||
| b5638bd5ed | |||
| 70dfb556b0 | |||
| 6e2af401ef | |||
| b86392610c | |||
| 0db8f2c583 | |||
| 7d1adc7dad | |||
| 7d4591e0e4 | |||
| 03c3b65230 | |||
| 9d850677e0 | |||
| 65ff4090e6 | |||
| aaedec6e81 | |||
| 736647d2e8 | |||
| e44d514940 | |||
| e60cf22dc9 | |||
| 4f24da229a | |||
| cafeb9b71b | |||
| 77b3a481e1 | |||
| 6b30e74084 | |||
| 2c4ba9416f | |||
| d5e1985c90 | |||
| 56e17401e5 | |||
| 7c4b287e14 | |||
| 53657e8374 | |||
| 0e11316d54 | |||
| d1537fc56b | |||
| b174a3d028 | |||
| e6303bbfd7 | |||
| 3043eea15b | |||
| 79faa38816 | |||
| 486a85a96d | |||
| 19355acbc6 | |||
| dec6293b66 | |||
| 2282a77d43 | |||
| 9fb7fd2d80 | |||
| 3d0c3a8ce4 | |||
| 6e84dd6125 | |||
| 3141c2ba43 | |||
| 6cfe0c57b3 | |||
| d7749f881d | |||
| fb894e0902 | |||
| cc09cb9346 | |||
| f5588a21e7 | |||
| aede6509f1 | |||
| 7a60dcb0c2 | |||
| 6bc07147d6 | |||
| 370a183270 | |||
| 8a59766c03 | |||
| 179a9a442d | |||
| 1ef2f34b1e | |||
| 85b19d1fed | |||
| 821379f299 | |||
| d445ae145a | |||
| 7b9778c56c | |||
| aab4819c09 | |||
| 601daea3d2 | |||
| 5cfc344b9f | |||
| 027d1f4dd6 | |||
| 6cf9935b21 | |||
| 18bcea064a | |||
| 5cb893b8ea | |||
| 2ebe638103 | |||
| b082896f69 | |||
| b6c30fc3f8 | |||
| a3246bd595 | |||
| 554a1b7d79 | |||
| 8a26fe112a | |||
| 600c4d2892 | |||
| b9572c4dc6 | |||
| bd6c645648 | |||
| 1f861b20d6 | |||
| f32c52b806 | |||
| 7558d5481e | |||
| dfde47e586 | |||
| 3537913dce | |||
| f6a96e5ee1 | |||
| 7beabcc202 | |||
| b314725309 | |||
| 64794d2892 | |||
| 7e1f6641c6 | |||
| 07c11d9725 | |||
| b4d8c66720 | |||
| 6b8c481ecc | |||
| 15208d7baf | |||
| 37b69fa544 | |||
| 7031fc5be4 | |||
| 382fe1c865 | |||
| 84e69f81e2 | |||
| 34eed325a2 | |||
| e0cd1852c3 | |||
| 026ed4f0a9 | |||
| 4a30318ecf | |||
| c905494bff | |||
| 43348514ad | |||
| fc9495f236 | |||
| dae5762e4f | |||
| 5c5f190fa1 | |||
| 7173e8c34d | |||
| bdc11cb5dc | |||
| db2e3e2adf | |||
| a2746066b5 | |||
| fb17ac8b72 | |||
| 1428f75d4e | |||
| 919137176d | |||
| d099beb41e | |||
| 9e49b004d7 | |||
| 40e0b78d11 | |||
| a576c3f3ba | |||
| 51d13e6084 | |||
| 47fb42221f | |||
| 90b0e5df42 | |||
| 5561e6e0a3 | |||
| 208341f5bc | |||
| 773cfd1c41 | |||
| 2603154788 | |||
| 89ac86a2e2 | |||
| de259f960c | |||
| 6e83d6c886 | |||
| 5ff1421e2b | |||
| eacf7f8e66 | |||
| dc83fa8588 | |||
| cbde3b8320 | |||
| 7b169deb50 | |||
| 8ac9b52390 | |||
| f0c0e222d8 | |||
| e35c961ea0 | |||
| ad1958cee6 | |||
| 191611eb93 | |||
| e75b7bc46e | |||
| 03fcbd97ca | |||
| d081accee0 | |||
| ab35fd895d | |||
| ab54cc896a | |||
| fc656fbd9a | |||
| 2f0a58654a | |||
| dd0f6cdb6d | |||
| 2424259926 | |||
| 856cb9c8ec | |||
| 3946075c4e | |||
| 64abbee1cb | |||
| d31fe3c178 | |||
| fb55780d6f | |||
| 89fdc1dee4 | |||
| 4b3b07c676 | |||
| b07a53a3a3 | |||
| c334c5ba5d | |||
| e17d884734 | |||
| aeb2d1c78f | |||
| 364b53877d | |||
| 649252b1af | |||
| b06dd4b72c | |||
| 871c5cbb6c | |||
| 1fbbffcdfd | |||
| 71557473be | |||
| 583529625e | |||
| f276022ac6 | |||
|
b45adfef87
|
|||
| 493c5a6bda | |||
| 2bb1758ce8 | |||
| 8fadde0a7f | |||
| e51e3919cc | |||
| 60f4b8ece5 | |||
| 1b13ca5e69 | |||
| 8660fdad33 | |||
| c02872295e | |||
| 482732ba1a | |||
| 45f849506f | |||
| 57528e52a8 | |||
| f46ab03816 | |||
| 0dae943aaa | |||
| f34bdc0b37 | |||
| 1e4f6ccc22 | |||
| 37aa1da220 | |||
| 8d872abb7f | |||
| 83310fc173 | |||
| e60438fa9b | |||
| 10ebc5e0d4 | |||
| 3a18d8eb2e | |||
| 8cabefc7c7 | |||
| 34a277c93a | |||
| 5f2945bea2 | |||
| 6daaabdf25 | |||
| d951ec5e17 | |||
| 856d0c98db | |||
| 07438d01cd | |||
| eb86ab3408 | |||
| d9ccfa9bfc | |||
| 5a14fbb5f5 | |||
| f19cbfb922 | |||
| 25524643c5 | |||
| 3a13f742dd | |||
| 754a4ebb00 | |||
| 020014b5b9 | |||
| 887fd31d75 | |||
| 918749131a | |||
| 168956eefc | |||
| c0b1973797 | |||
| baaa59b80c | |||
| b116cae262 | |||
| 47529c377a | |||
| c6ade1d15e | |||
| 944f35c689 | |||
| 322f9087d3 | |||
| 69ee421bcd | |||
| 40cf5191b6 | |||
| 0be86bfb8d | |||
| 8029a9a5dd | |||
| b125fd4851 | |||
| 3eb2e4b8bc | |||
| ee9d182ceb | |||
| c645f5b3a0 | |||
| 1ce9a50147 | |||
| 2a85fc230b | |||
| 2ddaf37ed6 | |||
| d09732c02f | |||
| 4cf80d0974 | |||
| 2d3eb3f8db | |||
| a0f808d4ee | |||
| d71fa674a2 | |||
| 58f8fdcddd | |||
| 092d6f773d | |||
| 5897f155cc | |||
| 1ddd61619d | |||
| f0b2273ffe | |||
| bf4f0122b8 | |||
| 1cd9daa196 | |||
| 0c119eb693 | |||
| 6a4ea192df | |||
| a61bb01ef2 | |||
| 724d78a090 | |||
| e43e14d2bc | |||
| 6e2e359f00 | |||
| 840b9e5434 | |||
| 650bdeeeb6 | |||
| 96cc7c9924 | |||
| f49fc674ee | |||
| 8d1afa853b | |||
| f0274df87b | |||
| 47aa0ffd73 | |||
| 376f189e82 | |||
| c249dc4e88 | |||
| b7d042d9fd | |||
| a7f09c8d71 | |||
| 5c4ef12877 | |||
| 950383d63a | |||
| 2535cbcaa2 | |||
| 5837628a42 | |||
| 27926c653b | |||
| 0fa77135a6 | |||
| 71da57bd16 | |||
| 592eeb24de | |||
| 82d85003a6 | |||
| 8dbe0e5012 | |||
| 8805b54469 | |||
| 672b3cf569 | |||
| ad53c49470 | |||
| dd09bb0594 | |||
| ef1eed6138 | |||
| 65635d821e | |||
| d69c2b5c78 | |||
| 8d2a8fcadd | |||
| 8804a1995c | |||
| 6820318d4a | |||
| c6f50b6ebc | |||
| 6a08d3a0e2 | |||
| 95b9679e69 | |||
| c05473900b | |||
| f18a4a37e9 | |||
| bf95f7d4da | |||
| ea1acfd639 | |||
| 4869783bd8 | |||
| 3eb6c2295c | |||
| c97a42e0dc | |||
| bda2520bae | |||
| 338e04dff8 | |||
| 71ef4c1a3b | |||
| c7f67f623c | |||
| ce31158f6b | |||
| 2246a0fa6c | |||
| e7563619c1 | |||
| d9784a698a | |||
| 296423583f | |||
| a16ebae12a | |||
| 6a81cd5301 | |||
| 4dd2c6b6dc | |||
| 964aaebaa4 | |||
| 0eaba345b8 | |||
| 99ea123da9 | |||
| 5165873e1b | |||
| 801c99ded0 | |||
| b672faf3e0 | |||
| f24a3a0cd9 | |||
| 66bafd3735 | |||
| 9c81f7125a | |||
| 6de6e600e5 | |||
| 9e95454eb6 | |||
| 564e1dd4de | |||
| 46b98e843d | |||
| 856977e48c | |||
| 4456cffdc4 | |||
| 4a2012a9c7 | |||
| f5fd4fa46d | |||
| 61a01f013b | |||
| 693ad3f896 | |||
| e5166cc3e3 | |||
| eb042167d6 | |||
| 8c14789f1e | |||
| cfb08b8725 | |||
| 59705d044a | |||
| f16060cb7c | |||
| fd56b824cc | |||
| 91d4840088 | |||
| 5b93907a92 | |||
| 2130af23a9 | |||
| 4cca2e50db | |||
| 6465a828c9 | |||
| fe8109b328 | |||
| 29fca747cc | |||
| 137ef56a52 | |||
| 43e490f7bb | |||
| db9cd3c78b | |||
| 2961cd42e6 | |||
| 253b0b0030 | |||
| 559bfadbc9 | |||
| 1e8b5f4374 | |||
| 2da3c394b5 | |||
| 0670b133c5 | |||
| 75127e2b82 | |||
| d835ac44c6 | |||
| 9dc251f40a | |||
| d9813d6645 | |||
| 1ba1b58362 | |||
| f3d4937619 | |||
| 8061390b9a | |||
| 589e1aa62c | |||
| 4f4d0ef751 | |||
| 96534c71b0 | |||
| 794588185a | |||
| 98fe63ba31 | |||
| 1f40c32560 | |||
| 6ea08da4dd | |||
| 1604955c6e | |||
| 0ff57a9ff8 | |||
| 09899db1a9 | |||
| 398f273dd7 | |||
| 564fea9af0 | |||
| c6c35bc018 | |||
| f798fc1103 | |||
| 059d9ef50c | |||
| 7e29b95a2e | |||
| d17474ed2d | |||
| 0649ff4818 | |||
| d8dab653ca | |||
| abd5efc599 | |||
| 0cabe602a6 | |||
| 2c219e1307 | |||
| 56dfd14aed | |||
| 0882873e01 | |||
| 5d75233ebc | |||
| 40d6410876 | |||
| c52d30ba59 | |||
| 75589b3622 | |||
| 6d81bb80ff | |||
| e9e18ac2b4 | |||
| f1904f03af | |||
| 956b1c0eff | |||
| e84e73ee21 | |||
| 272e39a7b6 | |||
| 5f4103dc51 | |||
| 0f33173a74 | |||
| ee30e2b193 | |||
| 36e0a2bd73 | |||
| a95eab46f5 | |||
| 0fd5accb87 | |||
| 92c19c7e34 | |||
| 7df524758a | |||
| cb04600896 | |||
| cf0f66ce64 | |||
| ba8619d378 | |||
| f3efef6af5 | |||
| 09283da207 | |||
| 78bbb69de9 | |||
| 2228812c84 | |||
| ce942b2b46 | |||
| 4d995b534a | |||
| d8d268f998 | |||
| e18a07d5e7 | |||
| ed596ad804 | |||
| b0cbd9a7fb | |||
| 23c0af9fb6 | |||
| d6b90d41ca | |||
| a03edc9eef | |||
| 7232be6093 | |||
| 977fba3874 | |||
| 89a027cb3b | |||
| a2f72cbb9d | |||
| 17e83f8c44 | |||
| 261cfa4b0e | |||
| 6f6c4128af | |||
| 4f66d87f1b | |||
| f69f5ae2a3 | |||
| 3e12c983da | |||
| 0dda9ca514 | |||
| e6570c0e49 | |||
| 6829402388 | |||
| e825305fee | |||
| 6e293b1166 | |||
| 9c61fd542a | |||
| df29fa15e7 | |||
| 69446289a3 | |||
| 5ff076c589 | |||
| bb3ef62ce9 | |||
| 35d536d301 | |||
| 6c26385d75 | |||
| e056b29cba | |||
| 320e44a460 | |||
| 9da815e887 | |||
| af6d7344a6 | |||
| 1f4e215ef2 | |||
| 6fd42cf3f6 | |||
| ca9b07a844 | |||
| e4118bb439 | |||
| 09174d1fcc | |||
| 9bf92982e7 | |||
| 118ea7f9d7 | |||
| 9428e2d48a | |||
| a218240884 | |||
| e8cbf0ebc9 | |||
| 549236d27c | |||
| 87fec620f9 | |||
| 0eeeb17df1 | |||
| 4f63faea93 | |||
| 069b20a5c5 | |||
| 484b02fb3f | |||
| eab0967ab8 | |||
| 80d8fdaab1 | |||
| 8d1d63c93a | |||
| 61bdb6ce90 | |||
| 7d91f84f8c | |||
| ab90449df1 | |||
| 2e64459319 | |||
| 064e69a617 | |||
| 69058ce382 | |||
| d4a962b17c | |||
| 9f643a95ed | |||
| fb4e536f71 | |||
| 154d4c7873 | |||
| 31e9536076 | |||
| 16e37e6736 | |||
| 39e5d5b543 | |||
| 5962db76f5 | |||
| 9ec4cbaaaf | |||
| d3aec60295 | |||
| 4083f7170c | |||
| b2da16de17 | |||
| d3632c2c22 | |||
| 13ee410558 | |||
| d1b5b8d1d6 | |||
| 3d687bdb2f | |||
| 0012073037 | |||
| 83c040216a | |||
| aaa6af17d3 | |||
| e2781dc5e7 | |||
| 48020c12b7 | |||
| aaceb5551a | |||
| f65a727c6d | |||
| 6add0bc212 | |||
| 80a8e3699f | |||
| ef663384f6 | |||
| 71e9dc4656 | |||
| 9ae6de5280 | |||
| 235f25fdca | |||
| 4aa27a439e | |||
| cd41e6d1a4 | |||
| c541a32b59 | |||
| 636d962fae | |||
| e9f3bf2c98 | |||
| ae07fdd69b | |||
| 6d697baeed | |||
| 2993ae22fa | |||
| 754e48c347 | |||
| 02ab67b386 | |||
| 7973fb2e87 | |||
| 2a291d1ae8 | |||
| 42de18f54f | |||
| 9850f4ebca | |||
| 8fe2ae50d4 | |||
| 05212032a2 | |||
| 0883e05093 | |||
| 7bb96c7c27 | |||
| 769e95f5f5 | |||
| e430c146da | |||
| a1da740ee8 | |||
| cb80758875 | |||
| 22f4706fc1 | |||
| 63dc0ad1e4 | |||
| 1d72734271 | |||
| 7ea3a581f1 | |||
| 58c205ba30 | |||
| 40a31b4844 | |||
| a45fd166d0 | |||
| 4648692707 | |||
| f6fdc0146f | |||
| 7f74f6f99a | |||
| d3fbfabb86 | |||
| 334dcc1bef | |||
| 10342f35da | |||
| 647607e2ef | |||
| bafd1ab308 | |||
| f5c05187fa | |||
| 76c6944300 | |||
| f0b30f627f | |||
| 5992386231 | |||
| a1e906e7ce | |||
| 0e8d76ac0f | |||
| 2135cdb1bf | |||
| e86615903a | |||
| edc351f5e0 | |||
| 40744f300d | |||
| d2a85bb39f | |||
| 6033caf489 | |||
| b50db1136a | |||
| 6563072460 | |||
| b22d2c686a | |||
| 7dbc7026f1 | |||
| 1e91840fe0 | |||
| 740c3efc25 | |||
| 56ff61b21c | |||
| a794d0284a | |||
| 0e72bff823 | |||
| 4c84674bbf | |||
| b400d878f2 | |||
| 4503edc547 | |||
| 0199958707 | |||
| 6ac0c8f25c | |||
| b41255ad4b | |||
| 1688098c27 | |||
| 8f249cc31b | |||
| 932ba7cd16 | |||
| 7c801968e8 | |||
| 00324674bb | |||
| a815d696d3 | |||
| 96a3f97fe1 | |||
| 618c53f24b | |||
| dc16ac6df2 | |||
| 3cb4d1285c | |||
| fb8cced7a5 | |||
| 7bb6843822 | |||
| 6cd172fe5d | |||
| 9792300fe5 | |||
| 5c5095ec0a | |||
| e030f70014 | |||
| 69bd61ca10 | |||
| f60fb548b6 | |||
| 44f3343650 | |||
| 467ab50cd8 | |||
| 7021d5f281 | |||
| cb99a5f37c | |||
| e10e6e9a6a | |||
| 4dec9b7cb0 | |||
| b1c17ee512 | |||
| 6aca42c085 | |||
| 5730633cda | |||
| 6f6d98ce61 | |||
| 82969dd155 | |||
| ad173e978e | |||
| 58d4a1da2a | |||
| 4ee1fe44b0 | |||
| 637feb639d | |||
| ab3cf69ec8 | |||
| 43d1d194a3 | |||
| 64eb169870 | |||
| f9fafb4595 | |||
| ea8329005b | |||
| 1589f0b51a | |||
| aa6bb97d46 | |||
| 84f0f05fd5 | |||
| cf2f2c6e8c | |||
| a45a15380a | |||
| ebf5c81f71 | |||
| cb6d91293d | |||
| bb5ce3ec4a | |||
| b1e5195c54 | |||
| c068ba736a | |||
| f25221661e | |||
| 96afa33251 | |||
| f3b3618b2b | |||
| ed59c244eb | |||
| 73456fbdc4 | |||
| 0943767e40 | |||
| 770cd642a3 | |||
| 1c3d3811a6 | |||
| 98750c214e | |||
| 5ca0445054 | |||
| e896dbb8e9 | |||
| 52503911e5 | |||
| 101dbdddd4 | |||
| 01098cdcfa | |||
| 4edf416b69 | |||
| cab0e6d316 | |||
| d2853831d4 | |||
| 98e5a4499c | |||
| f076e04012 | |||
| fa1434c36a | |||
| ae8808c0bf | |||
| 3f44181f14 | |||
| 94faee43d3 | |||
| 88b0283127 | |||
| e8d591c5a7 | |||
| a2001195b9 | |||
| c05a3cdef8 | |||
| 1b668aecb5 | |||
| 86c4f51c80 | |||
| f8966f46de | |||
| e604420067 | |||
| 5293b57fbf | |||
| af086790a8 | |||
| e953fd04cd | |||
| 401dd44c33 | |||
| eb7c1f2afe | |||
| 52e82ff879 | |||
| 0e4d29fec9 | |||
| c1ff0c8216 | |||
| 9463a99656 | |||
| 1c14501f71 | |||
| 5ffbe45db8 | |||
| d6d111564d | |||
| 47602c5cd6 | |||
| 6c556aa120 | |||
| 32ac0bb1ca | |||
| f0fab94d41 | |||
| a2b74629bf | |||
| 6b0af57bea | |||
| e4d58a2dcd | |||
| 75ac6b9eb5 | |||
| ee7db58d11 | |||
| 432d7c2987 | |||
| af005f741c | |||
| cf163cd484 | |||
| 941d7bf8cb | |||
| 66b20f99d6 | |||
| bede431239 | |||
| 1e79943312 | |||
| b17c66186f | |||
| 8b752a9d1e | |||
| f5368e4710 | |||
| 25ac2b3635 | |||
| 7e776f82f8 | |||
| 071fbd372b | |||
| ca322a6b65 | |||
| 963da8177b | |||
| 7e8c32d4a0 | |||
| ea9119bd00 | |||
| 4a77ab9261 | |||
| ad5c9a81aa | |||
| ee9ee385de | |||
| 09a744249b | |||
| 495e6d1f5b | |||
| 9949317f34 | |||
| c87b5f35dd | |||
| 1260c7e586 | |||
| a4bd4dc44e | |||
| b15d28f28f | |||
| b9d5c827b8 | |||
| 9cb21067e1 | |||
| 759fed773a | |||
| b641d0a873 | |||
| 5844347d3b | |||
| 7c61f3af47 | |||
| d99679fdc2 | |||
| fdc65380d6 | |||
| e2868b0966 | |||
| 13cd4b3c70 | |||
| a2c174cdb0 | |||
| ce4765bdf8 | |||
| 559df0dda2 | |||
| 77cf674fe0 | |||
| de68c88b4b | |||
| 2b9f172f31 | |||
| 8b4b1d7b57 | |||
| aed011e3b4 | |||
| 6614e8517a | |||
| 8e0b8cc7df | |||
| 18365af8ef | |||
| 540ccd1f02 | |||
| bfcf43eaf1 | |||
| 2454a5e37f | |||
| 7d1bf88bb8 | |||
| 897422446f | |||
| 6f3aa3e296 | |||
| 92e038799e | |||
| 2c841fb80a | |||
| 86d55f0a3c | |||
| 6b5f510a9f | |||
| 15426da8a8 | |||
| 27c9536e1c | |||
| 48c1fe3d9d | |||
| fe2172316c | |||
| 9ac6148049 | |||
| a7f1ee7429 | |||
| 736be0533f | |||
| e3f372ab90 | |||
| bcca0110f7 | |||
| d5123e775c | |||
| 7b7baf7282 | |||
| f0c2974e27 | |||
| 15763f4249 | |||
| 2d2a347532 | |||
| 64e571f23f | |||
| 6d12c46749 | |||
| b1ef972c5d | |||
| fe0765bee1 | |||
| 8dab77024e | |||
| 6b9b90ecd8 | |||
| 7dfc1d355f | |||
| 684be64b0d | |||
| e1049632fe | |||
| 8dc19fe1c7 | |||
| 1fbfc019f4 | |||
| b2fe1da58c | |||
| be85986010 | |||
| f043a0865d | |||
| a5e9f94064 | |||
| 2587cdd8f5 | |||
| 609b8cde43 | |||
| 2a0ee558ec | |||
| 8829e1b470 | |||
| 0d54c55338 | |||
| c01e64c7a9 | |||
| 63e2aad7d0 | |||
| badbe019a2 | |||
| 3b746e7d81 | |||
| 0bfa8b5cd7 | |||
| 9f3250e63d | |||
| bfbac59357 | |||
| 0fe2496f0a | |||
| dc66c3da55 | |||
| f308700405 | |||
| 38d1c06589 | |||
| 25cf076d6d | |||
| df209c5a57 | |||
| 9e51599fb7 | |||
| 260b869da5 | |||
| 0b20b55f6e | |||
| 2bdc322eba | |||
| 0fa70573c0 | |||
| cca5394305 | |||
| 112291a6c1 | |||
| 192eea20ee | |||
| 1975876c97 | |||
| ce077fcfbe | |||
| 9258f40181 | |||
| 2a027755ea | |||
| 2dc9c310d4 | |||
| c65a217368 | |||
| 6a383899b8 | |||
| cefc5a090a | |||
| a1fc66e740 | |||
| 89848cae4d | |||
| e2645b56df | |||
| 9227dcb47b | |||
| ec71a04b4e | |||
| b10f85873c | |||
| 0cbb52a8d8 | |||
| 4d1d721748 | |||
| 3c03d15768 | |||
| e549c0325b | |||
| 7f0594a982 | |||
| 761bcfb479 | |||
| 39ef54c205 | |||
| 1c6234f48b | |||
| 1ee3a71c33 | |||
| 11da77acc7 | |||
| e323a33dca | |||
| 860270b1e8 | |||
| 1b39c75a6c | |||
| 13e6b13ae2 | |||
| fd5ab02b3a | |||
| d2fb279345 | |||
| 25c3a1e58f | |||
| cd0ad1c8b1 | |||
| 41a296e2c6 | |||
| b74f537523 | |||
| ea9a1cb49c | |||
| 3312e04c7a | |||
| 518e23401b | |||
| a1e660e117 | |||
| 92721e3187 | |||
| e0166397e8 | |||
| 2f07dca13b | |||
| 28930a7b61 | |||
| 1ab8d665c8 | |||
| ce8aebf6e5 | |||
| 0e37c96fa1 | |||
| cd5125d95e | |||
| 2b83ac5424 | |||
| 83e53946b7 | |||
| 59b32159c8 | |||
| 8fe03293d3 | |||
| 791c3721e7 | |||
| bb28bebe45 | |||
| 00c5c6db79 | |||
| ff944636b7 | |||
| c47ad8da5f | |||
| b0a3679388 | |||
| 4df1866f38 | |||
| dd7162b0ab | |||
| 8e699de78f | |||
| f5f6098f70 | |||
| 4d818916c2 | |||
| f2290534ba | |||
| 136c9fabaf | |||
| e96c4ed5f8 | |||
| 3dff54891d | |||
| 31a96f9354 | |||
| 21db1a6a89 | |||
| 0c2c0adfc1 | |||
|
380f897f30
|
|||
| 5b4822eeb2 | |||
|
3d73796948
|
|||
|
c1effa216c
|
|||
|
a9335f07a3
|
|||
| 608ee7fd1e | |||
| 14ffa8a6f7 | |||
| 27ca96c93e | |||
| 13971a914c | |||
| e1da2cbc76 | |||
| e4036a7964 | |||
|
e925942f65
|
|||
|
89372baaa5
|
|||
| 977cc29683 | |||
|
6c72efc568
|
|||
|
63f88cbd5e
|
|||
| b0bad49143 | |||
|
73c282be3a
|
|||
|
cba7ec5055
|
@@ -1,67 +1,44 @@
|
|||||||
# Visit https://github.com/lowlighter/metrics/blob/master/action.yml for full reference
|
name: Update README
|
||||||
name: Metrics
|
|
||||||
on:
|
on:
|
||||||
schedule: [{cron: "0 4 * * *"}]
|
schedule: [{ cron: '0 4,16 * * *' }]
|
||||||
# Lines below let you run workflow manually and on each commit
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
jobs:
|
jobs:
|
||||||
metrics:
|
update_readme:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
- name: Left Panel
|
uses: actions/checkout@v2
|
||||||
if: ${{ success() || failure() }}
|
|
||||||
uses: lowlighter/metrics@latest
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
with:
|
with:
|
||||||
filename: left-panel.svg
|
python-version: '3.12'
|
||||||
token: ${{ secrets.METRICS_TOKEN }}
|
|
||||||
base: header, activity, community, repositories, metadata
|
- name: Install dependencies
|
||||||
config_order: base.header, base.repositories, base.activity+community, languages, followup
|
run: |
|
||||||
output_action: gist
|
python -m pip install --upgrade pip
|
||||||
committer_gist: ${{ secrets.GIST }}
|
pip install -r requirements.txt
|
||||||
template: classic
|
|
||||||
config_timezone: Europe/Berlin
|
- name: Create .env file
|
||||||
plugin_followup: yes
|
run: |
|
||||||
plugin_followup_sections: user, repositories
|
echo "GHOST_URL=${{ secrets.GHOST_URL }}" >> .env
|
||||||
plugin_languages: yes
|
echo "GHOST_KEY=${{ secrets.GHOST_KEY }}" >> .env
|
||||||
plugin_languages_analysis_timeout: 15
|
echo "WAKAPI_URL=${{ secrets.WAKAPI_URL }}" >> .env
|
||||||
plugin_languages_categories: markup, programming
|
echo "WAKAPI_KEY=${{ secrets.WAKAPI_KEY }}" >> .env
|
||||||
plugin_languages_colors: github
|
echo "DUOLINGO_URL=${{ secrets.DUOLINGO_URL }}" >> .env
|
||||||
plugin_languages_limit: 8
|
|
||||||
plugin_languages_recent_categories: markup, programming, data, prose
|
- name: Run README updater
|
||||||
plugin_languages_recent_days: 14
|
run: python readme_updater.py
|
||||||
plugin_languages_recent_load: 300
|
|
||||||
plugin_languages_sections: most-used
|
- name: Commit changes
|
||||||
plugin_languages_threshold: 0%
|
run: |
|
||||||
|
git config --local user.email "action@github.com"
|
||||||
- name: Right Panel
|
git config --local user.name "GitHub Action"
|
||||||
if: ${{ success() || failure() }}
|
git add README.md
|
||||||
uses: lowlighter/metrics@latest
|
git commit -m "Auto-update README [skip ci]"
|
||||||
|
|
||||||
|
- name: Push changes
|
||||||
|
uses: ad-m/github-push-action@master
|
||||||
with:
|
with:
|
||||||
filename: right-panel.svg
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
token: ${{ secrets.METRICS_TOKEN }}
|
|
||||||
base: ""
|
|
||||||
config_order: wakatime, isocalendar, activity
|
|
||||||
output_action: gist
|
|
||||||
committer_gist: ${{ secrets.GIST }}
|
|
||||||
template: classic
|
|
||||||
config_timezone: Europe/Berlin
|
|
||||||
plugin_activity: yes
|
|
||||||
plugin_activity_days: 14
|
|
||||||
plugin_activity_filter: all
|
|
||||||
plugin_activity_limit: 5
|
|
||||||
plugin_activity_load: 300
|
|
||||||
plugin_activity_visibility: all
|
|
||||||
plugin_activity_skipped: marvinscham/marvinscham
|
|
||||||
plugin_isocalendar: yes
|
|
||||||
plugin_isocalendar_duration: half-year
|
|
||||||
plugin_wakatime: yes
|
|
||||||
plugin_wakatime_token: ${{ secrets.WAKA_TOKEN }}
|
|
||||||
plugin_wakatime_days: "30"
|
|
||||||
plugin_wakatime_sections: time, projects-graphs, languages-graphs, editors
|
|
||||||
plugin_wakatime_user: marvinscham
|
|
||||||
plugin_wakatime_url: https://wakapi.ms-ds.org
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
.env
|
||||||
|
.venv
|
||||||
@@ -1,34 +1,96 @@
|
|||||||
<div align="center">
|
<h1 align="center" style="text-align:center;">Welcome! <img height="28" style="height:1em;display:inline-block;" src="https://raw.githubusercontent.com/marvinscham/marvinscham/main/resources/wave.gif"></h1>
|
||||||
|
<p align="center" style="text-align:center;">I'm Marvin – M.Sc. student, fullstack developer and creator of <a href="https://masterychart.com">Mastery Chart</a>.<br>Located in Baden-Württemberg, Germany <img height="16" style="height:1em;display:inline-block;" src="https://marvinscham.de/assets/img/lang/de.png">.</p>
|
||||||
<h1>Hi there 👋</h1>
|
|
||||||
|
|
||||||
|
<h2>🛠 Tools I use</h2>
|
||||||
<p>
|
<p>
|
||||||
I'm Marvin.<br>
|
<img alt="PHP" style="display:inline-block;" src="https://img.shields.io/badge/-PHP-777BB4?style=flat-square&logo=php&logoColor=white" />
|
||||||
CSS enjoyer, pianist, creator of <a href="https://masterychart.com">Mastery Chart</a>.
|
<img alt="Plausible" style="display:inline-block;" src="https://img.shields.io/badge/-Plausible-5850EC?style=flat-square&logo=plausibleanalytics&logoColor=white" />
|
||||||
|
<img alt="Obsidian" style="display:inline-block;" src="https://img.shields.io/badge/-Obsidian-7C3AED?style=flat-square&logo=obsidian&logoColor=white" />
|
||||||
|
<img alt="n8n" style="display:inline-block;" src="https://img.shields.io/badge/-n8n-EA4B71?style=flat-square&logo=n8n&logoColor=white" />
|
||||||
|
<img alt="Chart.js" style="display:inline-block;" src="https://img.shields.io/badge/-Chart.js-FF6384?style=flat-square&logo=chartdotjs&logoColor=white" />
|
||||||
|
<img alt="Riot API" style="display:inline-block;" src="https://img.shields.io/badge/-Riot_API-EB0029?style=flat-square&logo=riotgames&logoColor=white" />
|
||||||
|
<img alt="WireGuard" style="display:inline-block;" src="https://img.shields.io/badge/-WireGuard-88171A?style=flat-square&logo=wireguard&logoColor=white" />
|
||||||
|
<img alt="Authentik" style="display:inline-block;" src="https://img.shields.io/badge/-Authentik-FD4B2D?style=flat-square&logo=authentik&logoColor=white" />
|
||||||
|
<img alt="Git" style="display:inline-block;" src="https://img.shields.io/badge/-Git-F05032?style=flat-square&logo=git&logoColor=white" />
|
||||||
|
<img alt="Cloudflare" style="display:inline-block;" src="https://img.shields.io/badge/-Cloudflare-F38020?style=flat-square&logo=cloudflare&logoColor=white" />
|
||||||
|
<img alt="D3.js" style="display:inline-block;" src="https://img.shields.io/badge/-D3.js-F9A03C?style=flat-square&logo=d3&logoColor=white" />
|
||||||
|
<img alt="JavaScript" style="display:inline-block;" src="https://img.shields.io/badge/-JavaScript-F7DF1E?style=flat-square&logo=javascript&logoColor=white" />
|
||||||
|
<img alt="Gitea" style="display:inline-block;" src="https://img.shields.io/badge/-Gitea-609926?style=flat-square&logo=gitea&logoColor=white" />
|
||||||
|
<img alt="Bash" style="display:inline-block;" src="https://img.shields.io/badge/-Bash-4EAA25?style=flat-square&logo=gnubash&logoColor=white" />
|
||||||
|
<img alt="Paperless" style="display:inline-block;" src="https://img.shields.io/badge/-Paperless-17541F?style=flat-square&logo=paperlessngx&logoColor=white" />
|
||||||
|
<img alt="nginx" style="display:inline-block;" src="https://img.shields.io/badge/-nginx-009639?style=flat-square&logo=nginx&logoColor=white" />
|
||||||
|
<img alt="LaTeX" style="display:inline-block;" src="https://img.shields.io/badge/-LaTeX-008080?style=flat-square&logo=latex&logoColor=white" />
|
||||||
|
<img alt="Tailwind" style="display:inline-block;" src="https://img.shields.io/badge/-Tailwind-06B6D4?style=flat-square&logo=tailwindcss&logoColor=white" />
|
||||||
|
<img alt="SonarQube" style="display:inline-block;" src="https://img.shields.io/badge/-SonarQube-4E9BCD?style=flat-square&logo=sonarqube&logoColor=white" />
|
||||||
|
<img alt="Docker" style="display:inline-block;" src="https://img.shields.io/badge/-Docker-2496ED?style=flat-square&logo=Docker&logoColor=white" />
|
||||||
|
<img alt="Python" style="display:inline-block;" src="https://img.shields.io/badge/-Python-3776AB?style=flat-square&logo=python&logoColor=white" />
|
||||||
|
<img alt="MariaDB" style="display:inline-block;" src="https://img.shields.io/badge/-MariaDB-1F305F?style=flat-square&logo=mariadb&logoColor=white" />
|
||||||
|
<img alt="Immich" style="display:inline-block;" src="https://img.shields.io/badge/-Immich-4250AF?style=flat-square&logo=immich&logoColor=white" />
|
||||||
|
<img alt="Markdown" style="display:inline-block;" src="https://img.shields.io/badge/-Markdown-000000?style=flat-square&logo=markdown&logoColor=white" />
|
||||||
|
<img alt="Django" style="display:inline-block;" src="https://img.shields.io/badge/-Django-092E20?style=flat-square&logo=django&logoColor=white" />
|
||||||
|
<img alt="Ghost" style="display:inline-block;" src="https://img.shields.io/badge/-Ghost-15171A?style=flat-square&logo=ghost&logoColor=white" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<img width="390" align="left" src="https://gist.githubusercontent.com/marvinscham/2c47caf3cc853cc0977cbfb6f54c602d/raw/left-panel.svg">
|
<h2>🎁 Open source</h2>
|
||||||
<img width="390" align="right" src="https://gist.githubusercontent.com/marvinscham/2c47caf3cc853cc0977cbfb6f54c602d/raw/right-panel.svg">
|
|
||||||
|
|
||||||
</div>
|
<table>
|
||||||
|
<tbody><tr>
|
||||||
|
<td><a href="https://github.com/marvinscham/disenchanter"><b>Disenchanter</b></a></td>
|
||||||
|
<td><img alt="Stars" src="https://img.shields.io/github/stars/marvinscham/disenchanter?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Issues" src="https://img.shields.io/github/issues/marvinscham/disenchanter?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/marvinscham/disenchanter?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Last Commit" src="https://img.shields.io/github/last-commit/marvinscham/disenchanter?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
</tr><tr>
|
||||||
|
<td><a href="https://github.com/marvinscham/duolingo-api-dockerized"><b>Duolingo API Dockerized</b></a></td>
|
||||||
|
<td><img alt="Stars" src="https://img.shields.io/github/stars/marvinscham/duolingo-api-dockerized?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Issues" src="https://img.shields.io/github/issues/marvinscham/duolingo-api-dockerized?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/marvinscham/duolingo-api-dockerized?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Last Commit" src="https://img.shields.io/github/last-commit/marvinscham/duolingo-api-dockerized?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
</tr><tr>
|
||||||
|
<td><a href="https://github.com/marvinscham/bibtex-oss"><b>BibTeX OSS</b></a></td>
|
||||||
|
<td><img alt="Stars" src="https://img.shields.io/github/stars/marvinscham/bibtex-oss?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Issues" src="https://img.shields.io/github/issues/marvinscham/bibtex-oss?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/marvinscham/bibtex-oss?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Last Commit" src="https://img.shields.io/github/last-commit/marvinscham/bibtex-oss?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
</tr></tbody>
|
||||||
|
</table>
|
||||||
|
<h2>📊 30-day breakdown</h2>
|
||||||
|
|
||||||
<!--
|
<pre>
|
||||||

|
winterhalter-hmi 21:39 █████████████████████████████----------- 74%
|
||||||
<br>
|
wiha-tool 5:44 ███████--------------------------------- 19%
|
||||||

|
rso-auth 0:51 █--------------------------------------- 2%
|
||||||

|
pdf-annotation-ripper 0:22 ---------------------------------------- 1%
|
||||||
<br>
|
</pre>
|
||||||

|
|
||||||

|
|
||||||
**marvinscham/marvinscham** is a ✨ _special_ ✨ repository because its `README.md` (this file) appears on your GitHub profile.
|
|
||||||
|
|
||||||
Here are some ideas to get you started:
|
<pre>
|
||||||
|
C++ 16:27 ██████████████████████------------------ 56%
|
||||||
|
Python 4:28 ██████---------------------------------- 15%
|
||||||
|
Bash 1:34 ██-------------------------------------- 5%
|
||||||
|
Json 1:16 █--------------------------------------- 4%
|
||||||
|
Docker 1:15 █--------------------------------------- 4%
|
||||||
|
Prolog 0:54 █--------------------------------------- 3%
|
||||||
|
</pre>
|
||||||
|
|
||||||
- 🔭 I’m currently working on ...
|
<h2>📓 Latest blog posts</h2>
|
||||||
- 🌱 I’m currently learning ...
|
<ul>
|
||||||
- 👯 I’m looking to collaborate on ...
|
<li><a href="https://blog.marvinscham.de/css-color-filtering-svg/">CSS: Color Filtering SVG images</a></li>
|
||||||
- 🤔 I’m looking for help with ...
|
<li><a href="https://blog.marvinscham.de/splitting-midi/">Splitting MIDI Controller Input</a></li>
|
||||||
- 💬 Ask me about ...
|
<li><a href="https://blog.marvinscham.de/dkim-strato-cloudflare/">(DE) DKIM mit Strato SMTP und Cloudflare DNS</a></li>
|
||||||
- 📫 How to reach me: ...
|
</ul>
|
||||||
- 😄 Pronouns: ...
|
|
||||||
- ⚡ Fun fact: ...
|
|
||||||
-->
|
<h2>👥 Social</h2>
|
||||||
|
|
||||||
|
<p align="center" style="text-align:center;"><a href="https://marvinscham.de" style="display:inline-block;" target="_blank"><img alt="Homepage" src="https://img.shields.io/badge/Homepage-%230d254c.svg?&style=for-the-badge&logo=googlechrome&logoColor=white" /></a>
|
||||||
|
<a href="https://github.vom/marvinscham" style="display:inline-block;" target="_blank"><img alt="GitHub" src="https://img.shields.io/badge/GitHub-%23181717.svg?&style=for-the-badge&logo=github&logoColor=white" /></a>
|
||||||
|
<a href="https://www.linkedin.com/in/marvin-scham-58576216b/" style="display:inline-block;" target="_blank"><img alt="LinkedIn" src="https://img.shields.io/badge/LinkedIn-%230A66C2.svg?&style=for-the-badge&logo=linkedin&logoColor=white" /></a>
|
||||||
|
<a href="https://duolingo.com/profile/marvinscham" style="display:inline-block;" target="_blank"><img alt="Duolingo" src="https://img.shields.io/badge/Duolingo-%2358CC02.svg?&style=for-the-badge&logo=duolingo&logoColor=white" /></a>
|
||||||
|
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p align="center" style="text-align:center;">Last update: Saturday, 16 August 06:29 CEST</p>
|
||||||
|
<p align="center" style="text-align:center;"><a href="https://github.com/marvinscham/marvinscham/actions/workflows/metrics.yml"><img src="https://github.com/marvinscham/marvinscham/actions/workflows/metrics.yml/badge.svg" alt="Update README" style="display:inline-block;"></a> <img alt="made with ♥" style="display:inline-block;" src="https://img.shields.io/badge/made_with-%E2%99%A5-663399?style=flat&labelColor=%23343B41"></p>
|
||||||
-1704
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 188 KiB |
-485
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 91 KiB |
@@ -0,0 +1,190 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import base64
|
||||||
|
import datetime
|
||||||
|
import json
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
import matplotlib.colors as mcolors
|
||||||
|
import os
|
||||||
|
|
||||||
|
import pytz
|
||||||
|
import requests
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
|
# Constants for the progress bar
|
||||||
|
MAX_BAR_LENGTH = 40
|
||||||
|
BAR_CHAR = '█'
|
||||||
|
EMPTY_BAR_CHAR = '-'
|
||||||
|
|
||||||
|
|
||||||
|
def hex_to_rgb(hex_color):
|
||||||
|
# Helper function to convert hex to RGB
|
||||||
|
return tuple(int(hex_color[i:i+2], 16) / 255.0 for i in (1, 3, 5))
|
||||||
|
|
||||||
|
|
||||||
|
def shift_hue(obj, hue_shift):
|
||||||
|
# Shift hue to determine rainbow start
|
||||||
|
hue = mcolors.rgb_to_hsv(hex_to_rgb(obj['color']))[0] + hue_shift
|
||||||
|
if hue > 1:
|
||||||
|
hue -= 1.0
|
||||||
|
return hue
|
||||||
|
|
||||||
|
|
||||||
|
def calc_darkness_bias(obj, threshold):
|
||||||
|
# Threshold 1: No bias
|
||||||
|
brightness = mcolors.rgb_to_hsv(hex_to_rgb(obj['color']))[2]
|
||||||
|
if brightness < threshold:
|
||||||
|
return 2 - brightness
|
||||||
|
else:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
def seconds_to_string(seconds):
|
||||||
|
days = seconds // 86400
|
||||||
|
remaining_seconds = seconds % 86400
|
||||||
|
hours = remaining_seconds // 3600
|
||||||
|
remaining_minutes = (remaining_seconds % 3600) // 60
|
||||||
|
|
||||||
|
time_string = ""
|
||||||
|
if days > 0:
|
||||||
|
time_string += f"{days}:{hours:02}"
|
||||||
|
else:
|
||||||
|
time_string += f"{hours}"
|
||||||
|
time_string += f":{remaining_minutes:02}"
|
||||||
|
|
||||||
|
return time_string
|
||||||
|
|
||||||
|
|
||||||
|
resource_dir = os.path.join(os.path.dirname(
|
||||||
|
os.path.abspath(__file__)), "resources")
|
||||||
|
env = Environment(loader=FileSystemLoader(resource_dir))
|
||||||
|
|
||||||
|
# Load template
|
||||||
|
template = env.get_template('README.md.jinja')
|
||||||
|
|
||||||
|
# Load metadata files
|
||||||
|
with open(os.path.join(resource_dir, "technologies.json")) as f:
|
||||||
|
technologies = json.load(f)
|
||||||
|
with open(os.path.join(resource_dir, "projects.json")) as f:
|
||||||
|
projects = json.load(f)
|
||||||
|
with open(os.path.join(resource_dir, "socials.json")) as f:
|
||||||
|
socials = json.load(f)
|
||||||
|
|
||||||
|
# Sort to build rainbow
|
||||||
|
hue_shift = 0.35
|
||||||
|
darkness_bias = 0.2
|
||||||
|
|
||||||
|
technologies = sorted(
|
||||||
|
technologies,
|
||||||
|
key=lambda obj: shift_hue(obj, hue_shift) +
|
||||||
|
calc_darkness_bias(obj, darkness_bias)
|
||||||
|
)
|
||||||
|
|
||||||
|
blog_entries = {}
|
||||||
|
try:
|
||||||
|
response = requests.get(
|
||||||
|
f"{os.getenv("GHOST_URL")}/ghost/api/content/posts/?key={os.getenv("GHOST_KEY")}")
|
||||||
|
blog_entries = response.json()['posts'][:3]
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
pass
|
||||||
|
|
||||||
|
waka_projects = ""
|
||||||
|
waka_langs = ""
|
||||||
|
try:
|
||||||
|
waka_token = base64.b64encode(
|
||||||
|
os.getenv("WAKAPI_KEY").encode("ascii")).decode("ascii")
|
||||||
|
response = requests.get(
|
||||||
|
f"{os.getenv("WAKAPI_URL")}/api/summary?interval=30_days",
|
||||||
|
headers={'Authorization': f"Basic {waka_token}"}
|
||||||
|
)
|
||||||
|
waka_info = response.json()
|
||||||
|
|
||||||
|
total_duration = sum(item["total"] for item in waka_info["machines"])
|
||||||
|
|
||||||
|
project_list = waka_info["projects"][:4]
|
||||||
|
lang_list = waka_info["languages"][:6]
|
||||||
|
|
||||||
|
max_name_len = max(len(entry["key"]) for entry in project_list)
|
||||||
|
max_lang_len = max(len(entry["key"]) for entry in lang_list)
|
||||||
|
max_key_len = max(max_name_len, max_lang_len)
|
||||||
|
|
||||||
|
max_proj_time_len = max(len(seconds_to_string(
|
||||||
|
entry["total"])) for entry in project_list)
|
||||||
|
max_lang_time_len = max(
|
||||||
|
len(seconds_to_string(entry["total"])) for entry in lang_list)
|
||||||
|
max_total_len = max(max_proj_time_len, max_lang_time_len)
|
||||||
|
|
||||||
|
waka_projects += "<pre>\n"
|
||||||
|
for project in project_list:
|
||||||
|
filled_length = int(
|
||||||
|
(project["total"] / total_duration) * MAX_BAR_LENGTH)
|
||||||
|
progress_bar = BAR_CHAR * filled_length + \
|
||||||
|
EMPTY_BAR_CHAR * (MAX_BAR_LENGTH - filled_length)
|
||||||
|
percentage_str = str(
|
||||||
|
int((project["total"] / total_duration * 100))) + "%"
|
||||||
|
|
||||||
|
waka_projects += f"{project['key']:<{max_key_len}} "
|
||||||
|
waka_projects += f"{seconds_to_string(project["total"]):>{
|
||||||
|
max_total_len}} "
|
||||||
|
waka_projects += f"{progress_bar} "
|
||||||
|
waka_projects += f"{percentage_str:>3}\n"
|
||||||
|
waka_projects += "</pre>"
|
||||||
|
|
||||||
|
waka_langs += "<pre>\n"
|
||||||
|
for lang in lang_list:
|
||||||
|
filled_length = int((lang["total"] / total_duration) * MAX_BAR_LENGTH)
|
||||||
|
progress_bar = BAR_CHAR * filled_length + \
|
||||||
|
EMPTY_BAR_CHAR * (MAX_BAR_LENGTH - filled_length)
|
||||||
|
percentage_str = str(int((lang["total"] / total_duration * 100))) + "%"
|
||||||
|
|
||||||
|
waka_langs += f"{lang['key']:<{max_key_len}} "
|
||||||
|
waka_langs += f"{seconds_to_string(lang["total"]):>{max_total_len}} "
|
||||||
|
waka_langs += f"{progress_bar} "
|
||||||
|
waka_langs += f"{percentage_str:>3}\n"
|
||||||
|
waka_langs += "</pre>"
|
||||||
|
|
||||||
|
waka_stats = waka_projects + "\n\n" + waka_langs
|
||||||
|
except Exception as e:
|
||||||
|
waka_stats = ""
|
||||||
|
print(e)
|
||||||
|
pass
|
||||||
|
|
||||||
|
duolingo_stats = {}
|
||||||
|
try:
|
||||||
|
response = requests.get(os.getenv("DUOLINGO_URL"))
|
||||||
|
duolingo_stats = response.json()
|
||||||
|
|
||||||
|
for lang in duolingo_stats["lang_data"]:
|
||||||
|
if duolingo_stats["lang_data"][lang]["learningLanguage"] == duolingo_stats["learning_language"]:
|
||||||
|
current_lang = duolingo_stats["lang_data"][lang]["learningLanguageFull"]
|
||||||
|
|
||||||
|
duolingo_stats["current_lang"] = current_lang
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
pass
|
||||||
|
|
||||||
|
berlin_timezone = pytz.timezone('Europe/Berlin')
|
||||||
|
berlin_time = datetime.datetime.now(berlin_timezone)
|
||||||
|
last_update = berlin_time.strftime('%A, %e %B %H:%M %Z')
|
||||||
|
|
||||||
|
# Variables to pass to the template
|
||||||
|
data = {
|
||||||
|
"technologies": technologies,
|
||||||
|
"projects": projects,
|
||||||
|
"blog_entries": blog_entries,
|
||||||
|
"waka_stats": waka_stats,
|
||||||
|
"duolingo_stats": duolingo_stats,
|
||||||
|
"socials": socials,
|
||||||
|
"last_update": last_update
|
||||||
|
}
|
||||||
|
|
||||||
|
# Render the template with data
|
||||||
|
output = template.render(data)
|
||||||
|
|
||||||
|
# Write the output to README.md
|
||||||
|
with open('README.md', 'w', encoding='utf-8') as f:
|
||||||
|
f.write(output)
|
||||||
|
|
||||||
|
print("README.md generated successfully.")
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
jinja2
|
||||||
|
matplotlib
|
||||||
|
requests
|
||||||
|
python-dotenv
|
||||||
|
pytz
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<h1 align="center" style="text-align:center;">Welcome! <img height="28" style="height:1em;display:inline-block;" src="https://raw.githubusercontent.com/marvinscham/marvinscham/main/resources/wave.gif"></h1>
|
||||||
|
<p align="center" style="text-align:center;">I'm Marvin – M.Sc. student, fullstack developer and creator of <a href="https://masterychart.com">Mastery Chart</a>.<br>Located in Baden-Württemberg, Germany <img height="16" style="height:1em;display:inline-block;" src="https://marvinscham.de/assets/img/lang/de.png">.</p>
|
||||||
|
{# Derived from https://github.com/thmsgbrt/thmsgbrt #}
|
||||||
|
|
||||||
|
<h2>🛠 Tools I use</h2>
|
||||||
|
<p>
|
||||||
|
{% for item in technologies -%}
|
||||||
|
<img alt="{{ item['name'] }}" style="display:inline-block;" src="https://img.shields.io/badge/-{{ item["name"] | replace(" ", "_") }}-{{ item['color'] | replace("#", "") }}?style=flat-square&logo={{ item['logo'] or item['name'] | replace(" ", "_") }}&logoColor=white" />
|
||||||
|
{% endfor -%}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>🎁 Open source</h2>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
{%- for project in projects -%}
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://github.com/{{ project['repository'] }}"><b>{{ project['name'] }}</b></a></td>
|
||||||
|
<td><img alt="Stars" src="https://img.shields.io/github/stars/{{ project['repository'] }}?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Issues" src="https://img.shields.io/github/issues/{{ project['repository'] }}?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/{{ project['repository'] }}?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
<td><img alt="Last Commit" src="https://img.shields.io/github/last-commit/{{ project['repository'] }}?style=flat-square&labelColor=343b41"/></td>
|
||||||
|
</tr>
|
||||||
|
{%- endfor -%}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{%- if waka_stats|length > 1 %}
|
||||||
|
<h2>📊 30-day breakdown</h2>
|
||||||
|
|
||||||
|
{{ waka_stats }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{%- if blog_entries|length > 1 %}
|
||||||
|
<h2>📓 Latest blog posts</h2>
|
||||||
|
<ul>
|
||||||
|
{%- for entry in blog_entries %}
|
||||||
|
<li><a href="{{ entry["url"] }}">{{ entry["title"] }}</a></li>
|
||||||
|
{%- endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{%- if duolingo_stats["lang_data"]|length > 1 %}
|
||||||
|
<h2>🦉 Duolingo progress</h2>
|
||||||
|
<ul>
|
||||||
|
<li>🔥 Streak: {{ "%d"|format(duolingo_stats["streak"]|float) }}</li>
|
||||||
|
<li>⚡ {{ "%d"|format(duolingo_stats["xp"]|float) }} XP</li>
|
||||||
|
<li>👨🎓 Currently learning: <img height="16" style="height:1em;display:inline-block;" src="https://marvinscham.de/assets/img/lang/{{ duolingo_stats['learning_language'] }}.png"/> {{ duolingo_stats['current_lang'] }}</li>
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<h2>👥 Social</h2>
|
||||||
|
|
||||||
|
<p align="center" style="text-align:center;">
|
||||||
|
{%- for social in socials -%}
|
||||||
|
<a href="{{ social['url'] }}" style="display:inline-block;" target="_blank"><img alt="{{ social['name'] }}" src="https://img.shields.io/badge/{{ social['name'] }}-%23{{ social['color']|replace("#","") }}.svg?&style=for-the-badge&logo={{ social['logo'] }}&logoColor=white" /></a>
|
||||||
|
{% endfor %}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p align="center" style="text-align:center;">Last update: {{ last_update }}</p>
|
||||||
|
<p align="center" style="text-align:center;"><a href="https://github.com/marvinscham/marvinscham/actions/workflows/metrics.yml"><img src="https://github.com/marvinscham/marvinscham/actions/workflows/metrics.yml/badge.svg" alt="Update README" style="display:inline-block;"></a> <img alt="made with ♥" style="display:inline-block;" src="https://img.shields.io/badge/made_with-%E2%99%A5-663399?style=flat&labelColor=%23343B41"></p>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{ "name": "Disenchanter", "repository": "marvinscham/disenchanter" },
|
||||||
|
{
|
||||||
|
"name": "Duolingo API Dockerized",
|
||||||
|
"repository": "marvinscham/duolingo-api-dockerized"
|
||||||
|
},
|
||||||
|
{ "name": "BibTeX OSS", "repository": "marvinscham/bibtex-oss" }
|
||||||
|
]
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Homepage",
|
||||||
|
"url": "https://marvinscham.de",
|
||||||
|
"color": "#0d254c",
|
||||||
|
"logo": "googlechrome"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "GitHub",
|
||||||
|
"url": "https://github.vom/marvinscham",
|
||||||
|
"color": "#181717",
|
||||||
|
"logo": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LinkedIn",
|
||||||
|
"url": "https://www.linkedin.com/in/marvin-scham-58576216b/",
|
||||||
|
"color": "#0A66C2",
|
||||||
|
"logo": "linkedin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Duolingo",
|
||||||
|
"url": "https://duolingo.com/profile/marvinscham",
|
||||||
|
"color": "#58CC02",
|
||||||
|
"logo": "duolingo"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
[
|
||||||
|
{ "name": "Authentik", "logo": "authentik", "color": "#FD4B2D" },
|
||||||
|
{ "name": "Bash", "logo": "gnubash", "color": "#4EAA25" },
|
||||||
|
{ "name": "Chart.js", "logo": "chartdotjs", "color": "#FF6384" },
|
||||||
|
{ "name": "Cloudflare", "logo": "cloudflare", "color": "#F38020" },
|
||||||
|
{ "name": "D3.js", "logo": "d3", "color": "#F9A03C" },
|
||||||
|
{ "name": "Django", "logo": "django", "color": "#092E20" },
|
||||||
|
{ "name": "Docker", "logo": "Docker", "color": "#2496ED" },
|
||||||
|
{ "name": "Ghost", "logo": "ghost", "color": "#15171A" },
|
||||||
|
{ "name": "Git", "logo": "git", "color": "#F05032" },
|
||||||
|
{ "name": "Gitea", "logo": "gitea", "color": "#609926" },
|
||||||
|
{ "name": "Immich", "logo": "immich", "color": "#4250AF" },
|
||||||
|
{ "name": "JavaScript", "logo": "javascript", "color": "#F7DF1E" },
|
||||||
|
{ "name": "LaTeX", "logo": "latex", "color": "#008080" },
|
||||||
|
{ "name": "MariaDB", "logo": "mariadb", "color": "#1F305F" },
|
||||||
|
{ "name": "Markdown", "logo": "markdown", "color": "#000000" },
|
||||||
|
{ "name": "n8n", "logo": "n8n", "color": "#EA4B71" },
|
||||||
|
{ "name": "nginx", "logo": "nginx", "color": "#009639" },
|
||||||
|
{ "name": "Obsidian", "logo": "obsidian", "color": "#7C3AED" },
|
||||||
|
{ "name": "Paperless", "logo": "paperlessngx", "color": "#17541F" },
|
||||||
|
{ "name": "PHP", "logo": "php", "color": "#777BB4" },
|
||||||
|
{ "name": "Plausible", "logo": "plausibleanalytics", "color": "#5850EC" },
|
||||||
|
{ "name": "Python", "logo": "python", "color": "#3776AB" },
|
||||||
|
{ "name": "Riot API", "logo": "riotgames", "color": "#EB0029" },
|
||||||
|
{ "name": "SonarQube", "logo": "sonarqube", "color": "#4E9BCD" },
|
||||||
|
{ "name": "Tailwind", "logo": "tailwindcss", "color": "#06B6D4" },
|
||||||
|
{ "name": "WireGuard", "logo": "wireguard", "color": "#88171A" }
|
||||||
|
]
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 146 KiB |
-1231
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 99 KiB |
@@ -1,55 +0,0 @@
|
|||||||
<!--
|
|
||||||
<--- Readme.md Snippet without images Start --->
|
|
||||||
## Tech Stack
|
|
||||||
marvinscham/marvinscham is built on the following main stack:
|
|
||||||
|
|
||||||
- [GitHub Actions](https://github.com/features/actions) – Continuous Integration
|
|
||||||
|
|
||||||
Full tech stack [here](/techstack.md)
|
|
||||||
|
|
||||||
<--- Readme.md Snippet without images End --->
|
|
||||||
|
|
||||||
<--- Readme.md Snippet with images Start --->
|
|
||||||
## Tech Stack
|
|
||||||
marvinscham/marvinscham is built on the following main stack:
|
|
||||||
|
|
||||||
- <img width='25' height='25' src='https://img.stackshare.io/service/11563/actions.png' alt='GitHub Actions'/> [GitHub Actions](https://github.com/features/actions) – Continuous Integration
|
|
||||||
|
|
||||||
Full tech stack [here](/techstack.md)
|
|
||||||
|
|
||||||
<--- Readme.md Snippet with images End --->
|
|
||||||
-->
|
|
||||||
<div align="center">
|
|
||||||
|
|
||||||
# Tech Stack File
|
|
||||||
 [marvinscham/marvinscham](https://github.com/marvinscham/marvinscham)
|
|
||||||
<br/><br/>
|
|
||||||
|2<br/>Tools used|02/29/24 <br/>Report generated|
|
|
||||||
|------|------|
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## <img src='https://img.stackshare.io/devops.svg'/> DevOps (2)
|
|
||||||
<table><tr>
|
|
||||||
<td align='center'>
|
|
||||||
<img width='36' height='36' src='https://img.stackshare.io/service/1046/git.png' alt='Git'>
|
|
||||||
<br>
|
|
||||||
<sub><a href="http://git-scm.com/">Git</a></sub>
|
|
||||||
<br>
|
|
||||||
<sub></sub>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td align='center'>
|
|
||||||
<img width='36' height='36' src='https://img.stackshare.io/service/11563/actions.png' alt='GitHub Actions'>
|
|
||||||
<br>
|
|
||||||
<sub><a href="https://github.com/features/actions">GitHub Actions</a></sub>
|
|
||||||
<br>
|
|
||||||
<sub></sub>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<br/>
|
|
||||||
<div align='center'>
|
|
||||||
|
|
||||||
Generated via [Stack File](https://github.com/marketplace/stack-file)
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
repo_name: marvinscham/marvinscham
|
|
||||||
report_id: 785eed106406bd2d014bb65ffffc9bc3
|
|
||||||
version: 0.1
|
|
||||||
repo_type: Public
|
|
||||||
timestamp: '2024-02-29T18:37:54+00:00'
|
|
||||||
requested_by: marvinscham
|
|
||||||
provider: github
|
|
||||||
branch: main
|
|
||||||
detected_tools_count: 2
|
|
||||||
tools:
|
|
||||||
- name: Git
|
|
||||||
description: Fast, scalable, distributed revision control system
|
|
||||||
website_url: http://git-scm.com/
|
|
||||||
open_source: true
|
|
||||||
hosted_saas: false
|
|
||||||
category: Build, Test, Deploy
|
|
||||||
sub_category: Version Control System
|
|
||||||
image_url: https://img.stackshare.io/service/1046/git.png
|
|
||||||
detection_source_url: https://github.com/marvinscham/marvinscham
|
|
||||||
detection_source: Repo Metadata
|
|
||||||
- name: GitHub Actions
|
|
||||||
description: Automate your workflow from idea to production
|
|
||||||
website_url: https://github.com/features/actions
|
|
||||||
open_source: false
|
|
||||||
hosted_saas: true
|
|
||||||
category: Build, Test, Deploy
|
|
||||||
sub_category: Continuous Integration
|
|
||||||
image_url: https://img.stackshare.io/service/11563/actions.png
|
|
||||||
detection_source_url: https://github.com/marvinscham/marvinscham/blob/main/.github/workflows/metrics.yml
|
|
||||||
detection_source: ".github/workflows/metrics.yml"
|
|
||||||
last_updated_by: Marvin Scham
|
|
||||||
last_updated_on: 2022-08-12 03:00:08.000000000 Z
|
|
||||||
Reference in New Issue
Block a user