Jak wyświetlić zawartość HTML w github README.md?


Odpowiedzi:


47

Interpreter Markdown Githuba może zawierać HTML. Jednak w HTML można zrobić tylko tyle. Proponuję zapoznać się z tym artykułem, który zawiera więcej informacji o tym, jakich tagów można używać. Osobiście nigdy nie używałem więcej niż podziałów wierszy, reguł poziomych itp. Niestety, nie widzę ramek iframe wspomnianych w artykule.


14
Agresywnie usuwają html, który może być szkodliwy dla użytkowników, na przykład skrypty. Element iframe należałby do tej kategorii, ponieważ potencjalnie mógłbyś służyć ludziom wszystko, nawet złośliwe oprogramowanie na githubie.
— s1h4d0w

39

Jak odpowiedział mjgpy3 , to może zawierać html - brak <html>tagów potrzebne, ale to być oczyszczone przed wyświetlaczem i jedyne tagi są dozwolone w tej białej listy .

Obecnie lista obejmuje:

h1 h2 h3 h4 h5 h6 h7 h8 br b i strong em a pre code img tt div ins del sup sub p ol ul table thead tbody tfoot blockquote dl dt dd kbd q samp var hr ruby rt rp li tr td th s strike summary details caption figure figcaption abbr bdo cite dfn mark small span time wbr

ale nie iframe.


1
Lista opublikowana przez lazysoundsystem Zmieniona. Zobacz wiersz # 46,47,48 dla DOPUSZCZALNYCH TAGÓW HTML: GitHub-HTML-pipeline-sanitization_filter.rb , zweryfikowałem + stwierdziłem, że w tej chwili link jest poprawny. Takie TAGy niedozwolone: ​​skrypt, styl, iframe, span,… Ale div, table… częściowo dozwolone. GitHub usuwa również / filtruje wiele atrybutów używanych wewnątrz tagów. Ponieważ GitHub może stosować filtrowanie do TAGów i atrybutów, powinny zezwalać na <style>, <script>,… z włączonym filtrowaniem, aby umożliwić przynajmniej niektóre bezpieczne właściwości / polecenia CSS + JS.
— atErik

1

Możesz użyć svg do obejścia, przykładowy kod (./path/example.svg):

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
<foreignObject width="100" height="100">
    <div xmlns="http://www.w3.org/1999/xhtml">
        <ul>
            <li>text</li>
        </ul>
        <!-- Other embed HTML element/text into SVG -->
    </div>
</foreignObject>
</svg>

a następnie użyj metody wstawiania obrazu, aby osadzić plik svg w dowolnym innym pliku markdown, na przykład:

![](./path/example.svg)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.