diff --git a/Pipfile.lock b/Pipfile.lock index 10cfc777fb3e37766ade296b69bea3b59a69a29c..b1fb8119ecb4320deabc015d1da2635133b4b8f7 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -24,6 +24,14 @@ "markers": "python_version >= '3.7'", "version": "==8.1.3" }, + "colorama": { + "hashes": [ + "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", + "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" + ], + "markers": "platform_system == 'Windows'", + "version": "==0.4.6" + }, "ghp-import": { "hashes": [ "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", @@ -49,59 +57,59 @@ }, "markupsafe": { "hashes": [ - "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed", - "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc", - "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2", - "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460", - "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7", - "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0", - "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1", - "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa", - "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03", - "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323", - "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65", - "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013", - "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036", - "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f", - "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4", - "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419", - "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2", - "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619", - "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a", - "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a", - "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd", - "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7", - "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666", - "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65", - "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859", - "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625", - "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff", - "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156", - "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd", - "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba", - "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f", - "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1", - "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094", - "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a", - "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513", - "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed", - "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d", - "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3", - "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147", - "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c", - "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603", - "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601", - "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a", - "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1", - "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d", - "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3", - "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54", - "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2", - "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6", - "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58" + "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e", + "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e", + "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431", + "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686", + "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559", + "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc", + "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c", + "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0", + "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4", + "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9", + "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575", + "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba", + "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d", + "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3", + "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00", + "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155", + "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac", + "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52", + "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f", + "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8", + "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b", + "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24", + "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea", + "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198", + "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0", + "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee", + "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be", + "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2", + "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707", + "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6", + "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58", + "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779", + "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636", + "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c", + "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad", + "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee", + "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc", + "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2", + "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48", + "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7", + "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e", + "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b", + "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa", + "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5", + "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e", + "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb", + "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9", + "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57", + "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc", + "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2" ], "markers": "python_version >= '3.7'", - "version": "==2.1.2" + "version": "==2.1.3" }, "mergedeep": { "hashes": [ diff --git a/docs/css/extra.css b/docs/css/extra.css index 92d95096f281b6cc9fd72471eabf69d6f93ebad0..b822b75364d883cef77ce9426d0f84d97f94761f 100644 --- a/docs/css/extra.css +++ b/docs/css/extra.css @@ -12,8 +12,28 @@ footer { position: absolute; bottom: 0; font-weight: 500; + border-top: 1px solid #eaeaea; + padding-top: 10px; } li { list-style: none; } + +.commit-info { + display: flex; + justify-content: center; +} + +.commit-info ul { + text-align: left; +} + +.label { + font-weight: bold; +} + +.content { + color: #007BFF; + white-space: pre-line; +} diff --git a/dsfr_theme/main.html b/dsfr_theme/main.html index 0fe0ed09d8d0a87d853f06fccc7bc3f9b6b9729b..2a3779660cc22dee170a35421cd5676331321b6e 100644 --- a/dsfr_theme/main.html +++ b/dsfr_theme/main.html @@ -3,10 +3,11 @@ {% block footer %} <div class="commit-info"> <ul> - <li>Branch: {{ config.extra.commit_info.branch }}</li> - <li>Message: {{ config.extra.commit_info.message }}</li> - <li>Author: {{ config.extra.commit_info.author }}</li> - <li>Date: {{ config.extra.commit_info.date }}</li> + <li><span class="label">Branche :</span> <span class="content">{{ config.extra.commit_info.branch }}</span></li> + <li><span class="label">Révision :</span> <span class="content">{{ config.extra.commit_info.SHA1 }}</span></li> + <li><span class="label">Message :</span> <span class="content" style="white-space: pre-line;">{{ config.extra.commit_info.message }}</span></li> + <li><span class="label">Auteur :</span> <span class="content">{{ config.extra.commit_info.author }}</span></li> + <li><span class="label">Date :</span> <span class="content">{{ config.extra.commit_info.date }}</span></li> </ul> </div> {% endblock %} diff --git a/generate_commit_info.py b/generate_commit_info.py index 140d8d1a4db2b89373b00a6b8072d8932ccb74e7..4a624bdf32e8d0d47e5458475ddcd46954655464 100644 --- a/generate_commit_info.py +++ b/generate_commit_info.py @@ -3,11 +3,31 @@ from git import Repo def get_git_commit_info(repo_path): - repo = Repo(repo_path) - head_commit = repo.head.commit - branch_name = repo.active_branch.name + """ + Gets the commit info from the git repository. + + :param repo_path: The path to the git repository. + :type repo_path: str + :return: A dictionary containing: + - 'branch': The name of the current branch. + - 'SHA1': The SHA1 hash of the last commit. + - 'message': The commit message. + - 'author': The author of the commit. + - 'date': The date of the commit. + :rtype: dict + """ + try: + repo = Repo(repo_path) + head_commit = repo.head.commit + branch_name = repo.active_branch.name + sha1_hash = head_commit.hexsha + except Exception as e: + print(f"Error getting commit info: {e}") + return None + return { 'branch': branch_name, + 'SHA1': sha1_hash, 'message': head_commit.message, 'author': head_commit.author.name, 'date': head_commit.committed_datetime.strftime("%Y-%m-%d %H:%M:%S") @@ -15,15 +35,27 @@ def get_git_commit_info(repo_path): def write_commit_info_to_config(commit_info, config_file): - with open(config_file, 'r+') as file: - config = yaml.safe_load(file) - config['extra']['commit_info'] = commit_info - file.seek(0) - yaml.dump(config, file) + """ + Write the commit info to the mkdocs.yml file + + :param commit_info: Information about the last commit + :type commit_info: dict + :param config_file: Configuration file for mkdocs + :type config_file: str + """ + try: + with open(config_file, 'r+') as file: + config = yaml.safe_load(file) + config['extra']['commit_info'] = commit_info + file.seek(0) # Move the cursor to the start of the file + yaml.dump(config, file) # Convert the config to YAML and write it to the file + except Exception as e: + print(f"Error writing to config: {e}") if __name__ == "__main__": repo_path = '.' config_file = 'mkdocs.yml' commit_info = get_git_commit_info(repo_path) - write_commit_info_to_config(commit_info, config_file) + if commit_info is not None: + write_commit_info_to_config(commit_info, config_file) diff --git a/mkdocs.yml b/mkdocs.yml index 72dbe49064a4c8b3acc58ef5c494ad050c455d12..9bfb7cec3a936290ed4b7775eea16be39ad00de5 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,14 +1,15 @@ extra: commit_info: + SHA1: 1c3a2915f31feeee9325f351b3a379e8730a8fd2 author: alexandre.caldato - branch: main - date: '2023-06-01 19:50:17' - message: 'add script to generate commit md file' + branch: taiga3/commit_footer + date: '2023-06-03 12:32:24' + message: "- Ajout des infos de commit dans le footer et modification du style.\n\ + - Modification du script de g\xE9n\xE9ration des infos de commit (ajout de doc\ + \ et du sha1)\n" extra_css: - css/extra.css -nav: -- Home: index.md -- Latest Commit: commit_info.md -site_name: My Docs +site_name: DSFR Exemple theme: - name: dsfr + custom_dir: dsfr_theme + name: mkdocs