Подскажите как подключить подсветку синтаксиса 1С кода у себя на сайте?

ЕСТЬ РЕШЕНИЕ InstantCMS 2.X
#1 9 апреля 2025 в 10:47

highlightjs.org/demo

Изображение

Чтобы можно было через редактор такое вносить у себя на портале. Спасибо

Добавлено спустя 13 часов

решено

#2 9 апреля 2025 в 10:49

А поделиться решением?

#3 9 апреля 2025 в 14:24
А поделиться решением?
dChirkis

Добавить в тему

<link rel=«stylesheet» href=«cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/monokai-sublime.min.css»>
<script src=«cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js»></script>
<script src=«cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/1c.min.js»></script>

<script>
  document.addEventListener('DOMContentLoaded', () => {
    hljs.highlightAll();
  });
</script>

Потом в редакторе в режиме кода добавить

<pre><code class=«language-1c»>
// Пример кода на 1С
Процедура ПриветМир()
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = «Привет, DKFlow!»;
    Сообщение.Показать();
КонецПроцедуры

// Запрос к базе
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ * ИЗ Справочник.Номенклатура»;
Результат = Запрос.Выполнить();
</code></pre>

Добавлено спустя 2 минуты

Нужно как бы это дело добавить по нормальному в шаблон и сделать в редакторе кнопочку для кода.

Сегодня в 01:10
#4 9 апреля 2025 в 19:28

TinyMCE? Если да, то вот плагин. Само собой и это:

  1. <link rel="stylesheet" href="cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/monokai-sublime.min.css">
  2. <script src="cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
  3. <script src="cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/1c.min.js"></script>

monokai-sublime.min.css — Меняем на стиль по вкусу. highlightjs.org/examples

Ну и в тайни, прописываем плагин И кнопку: highlightjs

Перед  </body>

  1. <script>$(document).ready(function() {
  2. $('pre').each(function(i, e) {hljs.highlightBlock(e)});
  3. });</script>
Добавлено спустя 1 час

По идеи, даже плагин ставить не надо. В инстант уже есть плагин codesample

Прикрепленный файл
highlightjs.zip 3 Кб
#5 9 апреля 2025 в 19:48
TinyMCE? Если да, то вот плагин. Само собой и это: <link rel=«stylesheet» href=«cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/monokai-sublime.min.css»> <script src=«cdnjs.
pupsik

Изображение

Изображение

а как сюда добавить возможность отображения кода 1с? чтобы было без заморочек?

Добавлено спустя 2 минуты

просто я не совсем понял куда кидать js файл который есть в архиве

#6 9 апреля 2025 в 19:53

Объясните поподробней что бы вы хотели видеть. Запутался весь. Какой архив? Какой 1с?

По подробней пожалста! Я так понял что codesample вам идет и менять не надо...

Вы просто хотели чтоб в codesample был язык 1c?

#7 9 апреля 2025 в 20:56

чтобы сделать то что ты хочешь, нужно править плагин для редактора там прописаны только эти языке, нужно его дополнить 1с и прописать стили для языка.

#8 9 апреля 2025 в 21:24
чтобы сделать то что ты хочешь, нужно править плагин для редактора там прописаны только эти языке, нужно его дополнить 1с и прописать стили для языка.
maxisoft

да дополнить для языка 1С, чтобы не руками это все делать

#9 10 апреля 2025 в 02:53

Изображение

Я отпишусь как сделать через highlightjs или Prism, а там уж сами смотрите как вам удобней.

1. Прописываем нужные скрипты (там где надо) в вашем случаи это с доп.язык 1с.

  1. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/androidstudio.min.css">
  2. <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
  3. <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/languages/1c.min.js" ></script>
  4. <script>hljs.highlightAll();</script>

2. ['text' => '1c:Enterprise ', 'value' => '1c'],  добавте в /wysiwyg/tinymce/wysiwyg.class.php Чтобы было так:

  1. 'codesample_languages' => [
  2. ['text' => 'HTML/XML', 'value' => 'html'],
  3. ['text' => 'PHP', 'value' => 'php'],
  4. ['text' => 'JavaScript', 'value' => 'javascript'],
  5. ['text' => 'CSS', 'value' => 'css'],
  6. ['text' => 'SQL', 'value' => 'sql'],
  7. ['text' => 'Bash', 'value' => 'bash'],
  8. ['text' => '1c:Enterprise', 'value' => '1c'],
  9. ],

3. Замените parseCode и parsePre в файле  system/controllers/typograph/frontend.php  на это:

  1. /**
  2. * Колбэк Jevix для тега <code>
  3. *
  4. * @param string $tag
  5. * @param array $params
  6. * @param string $content
  7. * @return string
  8. */
  9. public function parseCode($tag, $params, $content) {
  10. return $content;
  11. }
  12.  
  13. /**
  14. * Колбэк Jevix для тега <pre>
  15. *
  16. * @param string $tag
  17. * @param array $params
  18. * @param string $content
  19. * @return string
  20. */
  21. public function parsePre($tag, $params, $content) {
  22. $content = htmlspecialchars_decode($content);
  23. $content = preg_replace('#^<code>(.*)<\/code>$#uis', '$1', $content);
  24. return "<pre><code class=\"" . $params['class'] . "\">" . $content . "</code></pre>";
  25. }

Вроде усе!

PS. Если не хотите использовать highlightjs то вместо первого пункта, поставьте свои Prism: prismjs.com/download.html (Но там нету «1c»)

  1. <link rel="stylesheet" type="text/css" href="prism.css">
  2. <script src="prism.js"></script>
#10 10 апреля 2025 в 15:25

Большое спасибо — работает))))

Очень благодарен

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

Подсветка синтаксиса html кода в TinyMCE5

Релизы 2.X Создана 4 года назад 1 сообщение

Похожее в блогах

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.