Compétence : Générateur de page d'accueil académique
Objectif principal
Forker un dépôt de template GitHub Pages académique spécifié, le renommer, et le remplir avec les informations académiques personnelles de l'utilisateur extraites de la mémoire ou fournies. Le résultat final est une page d'accueil académique entièrement configurée et personnalisée, prête à être hébergée sur GitHub Pages.
Workflow principal
La compétence suit un workflow séquentiel strict pour garantir un déploiement réussi. Toute déviation peut entraîner des erreurs.
- Récupérer les données personnelles : Extraire le profil académique structuré de l'utilisateur depuis la mémoire à l'aide de
memory-read_graph. Ces données constituent la source unique de vérité pour toutes les mises à jour de contenu. - Forker le dépôt template : Utiliser
github-fork_repositorysur le template cible (par exemple,academicpages/academicpages.github.io). - Identifier le compte utilisateur : Utiliser
github-get_mepour obtenir le nom d'utilisateur GitHub de la personne qui forke. - Renommer le dépôt : Utiliser
github-rename_repositorypour donner au fork un nom spécifié par l'utilisateur (par exemple,LJT-Homepage). - Analyser la structure du dépôt : Examiner les répertoires clés (
_pages/,_publications/,_data/,_config.yml) pour comprendre la disposition du template. - Mettre à jour les fichiers de configuration principaux :
_config.yml: Mettre à jour le titre, la description, l'URL et, surtout, la sectionauthoravec les détails personnels (nom, bio, localisation, employeur, email, liens sociaux)._data/navigation.yml: Simplifier le menu de navigation principal. Généralement, le réduire aux seuls liens essentiels comme « Publications » selon les instructions de l'utilisateur._pages/about.md: Remplacer complètement le contenu par défaut par un profil personnel structuré contenant : Introduction, Centres d'intérêt de recherche, Formation, Expérience de recherche, Publications (listées dans le texte), Compétences et Coordonnées.
- Gérer les fichiers de publications :
- Supprimer tous les fichiers d'exemple existants dans le répertoire
_publications/. - Créer de nouveaux fichiers Markdown pour chaque publication de l'utilisateur, en utilisant une convention de nommage cohérente (par exemple,
YYYY-MM-DD-titre-court.md). Chaque fichier doit contenir un frontmatter YAML valide (title,collection,date,venue,citation).
- Supprimer tous les fichiers d'exemple existants dans le répertoire
- Vérification finale : Vérifier que tous les fichiers clés (
_config.yml,_pages/about.md,_data/navigation.yml) et les entrées de publication ont été correctement créés et ne contiennent aucune donnée fictive.
Contraintes et garde-fous critiques
- Fidélité des données : N'ajoutez, ne modifiez et n'inventez aucune information personnelle. Utilisez uniquement les données fournies dans le graphe de mémoire. Si une information manque (par exemple, un lien vers un réseau social non présent en mémoire), laissez le champ vide dans la configuration.
- Inclusion des publications : Listez toutes les publications de la mémoire dans la page
about.md, en distinguant clairement les travaux en tant que premier auteur et ceux en co-auteur. Créez également un fichier Markdown individuel pour chaque publication. - Simplification de la navigation : Respectez la demande de l'utilisateur concernant le menu de navigation. Si l'utilisateur demande d'afficher uniquement certaines pages, supprimez tous les autres liens de
_data/navigation.yml. - Pas de pages supplémentaires : Ne créez, n'activez et ne modifiez aucune page au-delà de celles explicitement mentionnées dans le workflow (par exemple, n'activez pas les sections blog, enseignement ou portfolio sauf indication contraire).
Outils requis
Cette compétence nécessite l'utilisation séquentielle des outils suivants. Assurez-vous que toutes les autorisations/champs d'action nécessaires sont disponibles.
memory-read_graphgithub-fork_repositorygithub-get_megithub-rename_repositorygithub-get_file_contentsgithub-create_or_update_filegithub-delete_file
Gestion des pannes
- Conflits d'écriture simultanés : Si
github-create_or_update_fileougithub-delete_fileéchoue avec une erreur « 409 conflict », récupérez le dernier état du dépôt (github-get_file_contentsà la racine) pour obtenir le nouveausha, puis réessayez l'opération avec leshamis à jour. - Données manquantes : Si un champ requis du graphe de mémoire est vide, enregistrez une note claire et poursuivez, en laissant le champ correspondant du site web vide. N'inventez pas de données.
Résultat
La compétence est terminée lorsque le dépôt GitHub forké de l'utilisateur contient tous les fichiers personnalisés et que l'historique des commits montre des mises à jour réussies. Fournissez à l'utilisateur l'URL de son nouveau dépôt (par exemple, https://github.com/<username>/<repo-name>).