как передать атрибут класса и значение в синтаксис уценки - PullRequest
2 голосов
/ 04 октября 2010

Я использую разметку Python для моего проекта Django, когда у меня есть значение

#/usr/bin/env python
print "this is converted to html code block"

вывод

<pre><code>    
#/usr/bin/env python
print "this is converted to html code block"
</code><pre>

Теперь мой вопрос заключается в том, как я могу передать атрибут класса и значение в элемент elem. Пример:

#i should be using some markdown syntax below
[class="python"]
#/usr/bin/env python
print "this is converted to html code block"

а затем вывод здесь

<pre><code class="python">    
#/usr/bin/env python
print "this is converted to html code block"
</code><pre>

это возможно? и как?

Ответы [ 4 ]

2 голосов
/ 04 октября 2010

Вы можете написать HTML в Markdown, но не можете добавлять такие вещи, как классы и идентификаторы.

См. этот вопрос или этот вопрос для получения более подробной информации.

1 голос
/ 21 июня 2015

Если вы используете Github Flavored Markdown, вы можете использовать это

```python
    print "I am python!"
```

Это добавит класс "lang-python".Мне нужно это для highlightjs.

См. здесь

0 голосов
/ 08 апреля 2014

Это моё решение. Во-первых, Markdown, с отступом, чтобы он стал блоком кода:

    |*|-language-css-|*|
    .code {
      color: red;
    }

Обратите внимание на | * | - и - | * |. Я использую эти символы только для того, чтобы убедиться, что у меня есть что-то уникальное для последующего анализа.

Затем немного JavaScript (сейчас jQuery, я напишу его на JS для оптимизации):

$('pre code').each(function() {

    var code = $(this).html(),
        the_code = code.split('-|*|')[1].substring(1),
        language = code.split('|*|-')[1].split('-|*|')[0];

    $(this).html(the_code).addClass(language);

});

Вышеупомянутый JavaScript, как вы можете видеть, будет принимать все, что было внутри | * | - и - | * | и добавьте его как класс в элемент CODE. Изменить в соответствии с вашими потребностями.

Результат таков:

<pre>
    <code class="language-css">
        .code {
            color: red;
        }
    
0 голосов
/ 04 октября 2010

Вы можете передать полученный HTML-код через другой фильтр, который находит и анализирует строку #! и добавляет на ее основе класс Python. lxml было бы хорошим способом сделать это. Хотя я не уверен, как ты устроишь это с Джанго.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...