Jaka jest składnia do przechowywania komentarza w pliku przeceny, np. Komentarz CVS $ Id $ u góry pliku? Nic nie znalazłem w projekcie przeceny .
1399
Jaka jest składnia do przechowywania komentarza w pliku przeceny, np. Komentarz CVS $ Id $ u góry pliku? Nic nie znalazłem w projekcie przeceny .
Odpowiedzi:
Uważam, że wszystkie wcześniej zaproponowane rozwiązania (oprócz tych, które wymagają konkretnych implementacji) powodują, że komentarze są dołączane do wyjściowego kodu HTML, nawet jeśli nie są wyświetlane.
Jeśli chcesz komentarz wyłącznie dla siebie (czytelnicy przekonwertowanego dokumentu nie powinni go widzieć, nawet w „źródle widoku”), możesz (ab) użyć etykiet linków (do użycia z linkami w stylu referencyjnym), które są dostępne w podstawowej specyfikacji Markdown:
http://daringfireball.net/projects/markdown/syntax#link
To jest:
Lub możesz pójść dalej:
Aby poprawić zgodność platformy (i zaoszczędzić jedno naciśnięcie klawisza), można również użyć
#
(który jest uzasadnionym celem hiperłącza) zamiast<>
:Aby zapewnić maksymalną przenośność, ważne jest wstawienie pustego wiersza przed i po komentarzach tego typu, ponieważ niektóre parsery Markdown nie działają poprawnie, gdy definicje odrywają się od zwykłego tekstu. Najnowsze badania z Babelmark pokazują, że puste linie przed i po są ważne. Niektóre parsery wypiszą komentarz, jeśli wcześniej nie było pustej linii, a niektóre parsery wykluczą następną linię, jeśli po niej nie będzie pustej linii.
Ogólnie rzecz biorąc, to podejście powinno działać z większością parserów Markdown, ponieważ jest to część podstawowej specyfikacji. (nawet jeśli zachowanie, gdy zdefiniowano wiele łączy lub gdy łącze jest zdefiniowane, ale nigdy nie jest używane, nie jest ściśle określone).
źródło
[//]: # "Comment"
i[//]: # (Comment)
wydaje się, że działa na szerszej gamie implementacji, ponieważ#
jest to prawidłowy względny identyfikator URI. Na przykład GitHub odrzuca<>
, a cała linia staje się widoczna. Warto również zauważyć, że etykiety linków często muszą być oddzielone od innych treści pustą linią.Używam standardowych tagów HTML, takich jak
Zwróć uwagę na potrójną kreskę. Zaletą jest to, że działa z pandoc podczas generowania danych wyjściowych TeX lub HTML. Więcej informacji jest dostępnych w grupie dyskusyjnej pandoc .
źródło
To małe badanie potwierdza i udoskonala odpowiedź Magnusa
Najbardziej niezależna od platformy składnia to
Oba warunki są ważne:
#
(i nie<>
)Ścisła specyfikacja Markdown CommonMark działa tylko zgodnie z przeznaczeniem z tą składnią (a nie z
<>
i / lub pustą linią)Aby to udowodnić, użyjemy Babelmark2, napisanego przez Johna MacFarlane'a. To narzędzie sprawdza rendering konkretnego kodu źródłowego w 28 implementacjach Markdown.
(
+
- zdał test,-
- nie zdał,?
- pozostawia śmieci, które nie są wyświetlane w renderowanym HTML).<>
13+, 15-<>
20+, 8-<>
20+, 8-#
13+ 1? 14#
23+ 1? 4-#
23+ 1? 4-To potwierdza powyższe stwierdzenia.
Te implementacje kończą się niepowodzeniem we wszystkich 7 testach. Nie ma szans na użycie z nimi komentarzy wykluczonych przy renderowaniu.
źródło
#
działa dla wszystkich oprócz GFM i<>
działa dla GFM, ale nie dla kilku innych. Szkoda, że GFM to zarówno narożnik, jak i bardzo popularny smak.#
21 stycznia 2016 r. Cebe nadal go nie obsługuje.(...)
sam w sobie zawiera , łamie go. Przynajmniej w Visual Studio Code 1.19.%s/^\(.*\)$/[comment]: # (\1)/g
Jeśli używasz Jekyll lub octopress, następujące działania również będą działać.
Tagi Liquid
{% comment %}
są najpierw analizowane i usuwane, zanim procesor MarkDown do nich dojdzie. Odwiedzający nie zobaczą, gdy spróbują wyświetlić źródło z przeglądarki.źródło
{#
tutaj komentarze wielowierszowe#}
Alternatywą jest umieszczanie komentarzy w stylizowanych znacznikach HTML. W ten sposób możesz w razie potrzeby przełączać ich widoczność. Na przykład zdefiniuj klasę komentarzy w arkuszu stylów CSS.
.comment { display: none; }
Następnie następujące ulepszone MARKDOWN
We do <span class="comment">NOT</span> support comments
pojawia się w PRZEGLĄDARCE w następujący sposób
We do support comments
źródło
Działa to na GitHub:
Powstały HTML wygląda następująco:
Co jest w zasadzie pustym linkiem. Oczywiście możesz to przeczytać w źródle renderowanego tekstu, ale możesz to zrobić w GitHub.
źródło
some text [](hidden text) blah blah
.[](Comment text goes here)
Użytkownicy Vim Instant-Markdown muszą korzystać
źródło
Zobacz także Critic Markup, wspierany przez rosnącą liczbę narzędzi Markdown.
http://criticmarkup.com/
źródło
Co powiesz na umieszczenie komentarzy w nie-ewaluacyjnym, bez echa bloku R? to znaczy,
Wydaje się, że działa dobrze dla mnie.
źródło
cat("# Some Header")
w obrębie „zakomentowanych” bloków kodu i używaćresults = "asis"
, a także możesz dodawać całe skomentowane sekcje do swojego kodu, które można włączać / wyłączać przez przełączanieeval = FALSE
, ponieważ ocena R jest wykonywana przed kompilacja pandoc. Dzięki za pomysł!Ujawnienie: Napisałem wtyczkę.
Ponieważ pytanie nie określa konkretnej implementacji Markdown, chciałbym wspomnieć o wtyczce Komentarze dla python-markdown , która implementuje ten sam styl komentowania pandoc, o którym mowa powyżej.
źródło
Nie działa w Pandoc Markdown (Pandoc 1.12.2.1). Komentarze wciąż pojawiały się w html. Następujące działało:
Następnie użyj rozszerzenia + przypisu dolnego. Jest to zasadniczo przypis, do którego nigdy się nie odwołujemy.
źródło
[#]:
.Poniższe działa bardzo dobrze
ta metoda korzysta ze składni do tworzenia linków poprzez referencje,
ponieważ referencje do linków utworzone za pomocą
[1]: http://example.org
nie będą renderowane, podobnie jak żadne z poniższychźródło
pandoc
bieżących instancji online Gitlab, jak i GitHub .W przypadku pandoc dobrym sposobem na zablokowanie komentarza jest użycie metamocka yaml, zgodnie z sugestią autora pandoc . Zauważyłem, że daje to bardziej właściwe podświetlanie składni komentarzach w porównaniu do wielu innych proponowanych rozwiązań, przynajmniej w moim otoczeniu (
vim
,vim-pandoc
, ivim-pandoc-syntax
).Używam komentarzy blokujących yaml w połączeniu z komentarzami HTML , ponieważ nie można zagnieżdżać komentarzy HTML . Niestety nie ma sposobu na blokowanie komentowania w metameczce yaml , więc każda linia musi być komentowana indywidualnie. Na szczęście powinna być tylko jedna linia w akapicie z miękkim zapisem.
W moim
~/.vimrc
ustawiłem niestandardowe skróty do blokowania komentarzy:Używam
,
jako mój<Leader>
klawiszem, więc,b
i,v
komentarz i usuń paragraf odpowiednio. Jeśli muszę skomentować wiele akapitów, odwzorowujęj,b
makro (zwykleQ
) i uruchamiam<number-of-paragraphs><name-of-macro>
(np. (3Q
). To samo działa w przypadku odkomentowania.źródło
kramdown - oparty na Ruby silnik markdown, który jest domyślny dla Jekyll, a tym samym GitHub Pages - ma wbudowaną obsługę komentarzy dzięki składni rozszerzenia :
Ma to tę zaletę, że pozwala na komentarze w linii, ale wadą jest brak możliwości przenoszenia na inne silniki Markdown.
źródło
Możesz spróbować
źródło
Możesz to zrobić (blok YAML):
Próbowałem tylko z wyjściem lateksowym, proszę potwierdzić dla innych.
źródło