Comment réaliser un terrain de jeu documentaire (mélangant html et code Swift) ?
-
22-12-2019 - |
Question
Quelqu'un a-t-il trouvé un bon moyen de produire un document similaire à GuidedTour.playground avec un mélange de sections HTML et de code rapide sans avoir à le faire manuellement ?
Nous pouvons explorer le contenu du fichier Playground qui est un package et il affiche des fichiers html/swift et un fichier xml contents.xcplayground décrivant la structure mais ce serait bien de pouvoir en créer un de manière conviviale.
La solution 4
à la version 6.3 Cette fonctionnalité fait maintenant partie de Xcode.
Citation de la publication NOTE:
Une documentation améliorée créant des commentaires en ligne marqués, des résultats de terrain de jeu en ligne, la possibilité de visualiser et d'éditer des ressources intégrées dans des terrains de jeu et la possibilité d'intégrer les fichiers source auxiliaires dans des terrains de jeux.Ces caractéristiques permettent la création de nouvelles expériences riches dans les terrains de jeux.
Autres conseils
Même si la réponse actuellement marquée comme « correcte » était peut-être vraie au moment de la rédaction de cet article, il existe en fait plusieurs façons de procéder.
- Réduction:Celui de Jason Sandmeyer
swift-playground-builder
est disponible sur GitHub à l'adresse https://github.com/jas/swift-playground-builder et peut être installé avecnpm install -g swift-playground-builder
.En plus d'avoir une ligne de commande, il peut également être invoqué par programme à partir de JavaScript et donc également appelé depuis Gulp (nécessite Node.JS et NPM) - Asciidox :James Carlson
ad2play
est disponible sur GitHub à l'adresse https://github.com/jxxcarlson/ad2play et peut être exécuté en tant que script Ruby (nécessite Ruby et asciidoctor installés)
Ouvrez le dossier du terrain de jeu dans Sublime ou un IDE.Vous devez modifier le fichier d'extension .xcplayground dans ce dossier .playground en tant que tel à l'endroit où vous insérez documentation
tag juste avant ou après Swift code
étiqueter.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<playground version='3.0' sdk='macosx'>
<sections>
<code source-file-name='section-1.swift' hidden="true" />
<documentation relative-path='fragment0.html'/>
<code source-file-name='section-3.swift'/>
<documentation relative-path='fragment11.html'/>
<code source-file-name='section-5.swift'/>
<documentation relative-path='fragment21.html'/>
<code source-file-name='section-7.swift'/>
<documentation relative-path='fragment22.html'/>
<code source-file-name='section-9.swift'/>
<documentation relative-path='fragment23.html'/>
<code source-file-name='section-11.swift'/>
<documentation relative-path='fragment24.html'/>
<code source-file-name='section-13.swift'/>
<documentation relative-path='fragment25.html'/>
<code source-file-name='section-15.swift'/>
<documentation relative-path='fragment26.html'/>
<code source-file-name='section-17.swift'/>
<documentation relative-path='fragment27.html'/>
<code source-file-name='section-19.swift'/>
<documentation relative-path='fragment31.html'/>
<code source-file-name='section-21.swift'/>
<documentation relative-path='fragment32.html'/>
<code source-file-name='section-23.swift'/>
<documentation relative-path='fragment33.html'/>
</sections>
<timeline fileName='timeline.xctimeline'/>
</playground>
La documentation et la structure des fichiers et dossiers Swift doivent être comme ceci.
Je suis à peu près sûr qu'il n'y a pas de flux de travail automatisé (au moins sans public) disponible pour l'instant.Mais pourquoi ne créez pas la vôtre si vous en avez vraiment besoin?
- Vous pouvez utiliser le super outil de flux de travail GRUNT ( http://gruntjs.com ) qui est assez souvent utilisé dans l'industrie Web.
- Vous pouvez écrire votre propre petit script / application (pourquoi pas à Swift lui-même: D) pour analyser votre fichier DOC personnalisé (avec une syntaxe prédéfinie pour marquer les sections de code et de documentation).
Les deux voies coutures réalisables pour moi, mais la question est bien sûr si elle en vaut la peine.