1
votes

Azure DevOps: comment afficher les pages wiki dans sa propre application sans le menu principal devops?

J'aimerais afficher le wiki Azure DevOps que j'ai créé pour mon projet dans une vue WPF avec un contrôle Navigateur. J'ai utilisé l'url suivante:

https://dev.azure.com/xxx/xxx/_wiki/wikis/KIS.wiki?wikiVersion=GBwikiMaster&pagePath=%2FNew%20Features&pageId=1

Est-il possible d'afficher uniquement le Wiki, sans le menu principal DevOps sur le côté gauche (Vue d'ensemble, Résumé, Tableaux de bord, Wiki, Repos, Pipelines, etc. )?


0 commentaires

3 Réponses :


0
votes

Étant donné que le wiki est en fait un markdown, vous pouvez toujours télécharger la source et utiliser un visualiseur de démarque. Par exemple. Aperçu du démarque VsCode.


0 commentaires

2
votes

Est-il possible d'afficher uniquement le Wiki, sans le menu principal DevOps le côté gauche (Vue d'ensemble, Résumé, Tableaux de bord, Wiki, Repos, Pipelines, etc.)

Comme vous pouvez le voir sur ce lien, il s'agit du lien qui représente la page entière contenant le panneau de gauche et le contenu de droite affiché. Si vous souhaitez utiliser ce lien dans le cadre de votre vue WPF, il se peut qu'il ne s'affiche pas uniquement sur le wiki.

Mais il y a un contournement, puisque WPF prend en charge le langage Markdown, vous pouvez utiliser l'API ci-dessous pour récupérez son script markdown:

var url = new Uri("https://dev.azure.com//{org}");
VssCredentials cre = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "{PAT token}"));
var connection = new VssConnection(url, cre);
var workitemClient = connection.GetClient<xxxxHttpClient>();

Et puis, utilisez-les pour les utiliser dans votre WPF script.

Mise à jour:

Pour utiliser cette API, vous devez d'abord transmettre les informations d'identification au script. Pour fournir les informations d'identification, vous pouvez lier un fichier .cs écrit avec C #.

Dans ce fichier .cs , utilisez le script C # suivant pour connectez-vous avec votre organisation:

https://dev.azure.com/{org name}/{project name}/_apis/wiki/wikis/{wiki name}/pages/%2F10

8 commentaires

C'est assez intéressant, merci! Savez-vous comment je peux fournir des informations d'identification?


Quel HttpClient avez-vous utilisé et quelle méthode? Avec GitHttpClient et GetItemsAsync (), je dois fournir le référentiel et le chemin, mais je ne vois pas le contenu du wiki sous "Repos" / "Files", donc je pense que la bonne façon est d'utiliser votre URL. Mais quelle méthode cliente alors? Merci encore.


Puisqu'il récupère le contenu du wiki, la méthode que j'ai utilisée est Get. Le HttpClient que j'ai utilisé est WikiHttpClient. Pour certains espaces de noms et classes, vous pouvez vous référer à ce document: docs.microsoft.com/en-us/dotnet/api/...


Comment ça va? Avez-vous eu un autre casse-tête à ce sujet? N'hésitez pas à nous le faire savoir.


Je peux télécharger une seule page de démarque maintenant mais je ne vois pas encore comment obtenir la structure entière et naviguer entre les pages. De plus, pour rendre le démarquage dans WPF, nous avons besoin de bibliothèques, n'est-ce pas, il n'y a pas de support WPF pour le démarquage, je suppose?


Oui, bien sûr, la bibliothèque nécessaire pour rendre la démarque dans WPF. Reportez-vous à ce rendu tiers


J'ai déjà essayé cela, il semble ne pas convertir les Umlauts et je ne sais pas comment styliser le HTML mais c'est un autre sujet maintenant. Merci pour ton aide! :)


Comme je ne suis pas trop bon dans le rendu de démarque dans WPF, désolé pour ne pas pouvoir vous aider à ce sujet. Si vous avez encore des puzzles sur C # et Azure Devops, n'hésitez pas à le partager ~~ :)



1
votes

Je voulais juste partager ce que nous avons finalement obtenu pour notre contrôle utilisateur WPF "WikiView":

  • nous utilisons le GetPageAsync () de WikiHttpClient pour obtenir le contenu de toutes les pages (page.Page.Content) et enregistrer les fichiers markdown (* .md) localement en utilisant le nom du chemin dans page.Page.GitItemPath
  • nous utilisons GitHttpClient pour obtenir toutes les images du dossier "attachments" dans le référentiel wiki
  • Markdig pour convertir le markdown en html (et corriger manuellement les adresses de lien absolues en adresses relatives)
  • un ListBox pour les pages wiki (table des matières)
  • un contrôle de navigateur CefSharp pour afficher le html (le WPF BrowserControl affiche des images trop petites)

Je fournirai du code au cas où cela vous intéresse.


0 commentaires