web-dev-qa-db-fra.com

Github: Comment intégrer un Gist dans README.md?

Est-il possible d'intégrer des gits dans le fichier README.md qui réside dans un dépôt github?

Quelque chose comme:

<code id="Gist-3167145"></code>
45
Francisco Luz

Mise à jour: Ma réponse fonctionne avec les pages github, construites via jekyll. J'utilise les balises de script dans markdown qui est ensuite traité par jekyll.

Puisque le démarquage prend en charge le HTML, on peut simplement utiliser le <script> pour intégrer Gist.

Copiez simplement l'URL d'intégration du Gist fournie par github

enter image description here

..et collez-le dans votre fichier de démarque.

Exemple: Copiez ce qui suit et collez-le dans votre fichier de démarque.

<script src="https://Gist.github.com/nisrulz/11c0d63428b108f10c83.js"></script>

..et c'est ce que vous obtiendrez

enter image description here

19
Nishant.

Non, désolé, ce n'est pas possible. Vous devrez soit avoir un lien vers celui-ci dans votre fichier README.md, soit copier son contenu.

Github Flavored Markdown vous montrera ce que vous pouvez mettre dans votre fichier README.md.

24
philipvr

Vous pouvez le faire si vous utilisez un préprocesseur de démarque tel que Gitdown :

/**
 * Resolve Gist (https://Gist.github.com/)
 *
 * @param {Object} config
 * @param {String} config.id Gist ID.
 * @param {String} config.fileName Gist file name. Default to gistfile1.txt.
 */
gitdown.registerHelper('Gist', {
    compile: function (config) {
        config = config || {};
        config.fileName = config.fileName || 'gistfile1.txt';

        if (!config.id) {
            throw new Error('Gist ID must be provided.');
        }

        return new Promise(function (resolve) {
            var https = require('https');

            https.get({
                Host: 'api.github.com',
                path: '/gists/' + config.id,
                headers: {
                    // User agent is required to communicate with Github API.
                    'user-agent': 'Gitdown – Gist'
                }
            }, function(res) {
                var body = '';

                res.setEncoding('utf8');

                res.on('data', function (d) {
                    body += d;
                });

                res.on('end', function () {
                    var Gist = JSON.parse(body);

                    if (!Gist.files) {
                        throw new Error('Gist ("' + config.id + '") not found.');
                    }

                    if (!Gist.files[config.fileName]) {
                        throw new Error('File ("' + config.fileName + '") is not part of the Gist ("' + config.id + '").');
                    }

                    resolve(Gist.files['gistfile1.txt'].content);
                });
            });
        });
    }
});

Ensuite, dans votre démarque, vous référeriez le Gist à l'aide d'un crochet JSON, par exemple.

{"gitdown": "Gist", "id": "d3e4212c799252bac5fa"}

Cette fonctionnalité devrait faire partie de Gitdown dans un avenir proche (il existe un problème ouvert, https://github.com/gajus/gitdown/issues/7 ).

4
Gajus

Ceci est faisable en 2017 lors de l'utilisation des pages GitHub et d'un thème Jekyll:

Voir https://Gist.github.com/benbalter/5555251 de @ benbalter

Simple comme: {% Gist 123456789 %}

3
Dan