HTML


Внешний файл стиля

Внешний файл стиля позволяет переключить стиль по цветовому предпочтению, и индивидуальной правкой можно задать другой шрифт, изменить его размер, особую подсветку в блоках кода. Автор может сделать светлую, чёрную и другие темы оформления. Но чтобы не создавать несколько CHM-файлов с разными стилями внутри на каждый стиль, можно сделать один CHM-файл с разными стилями в виде CSS-файла располагающихся снаружи.

Файл external.js

Поместите этот файл в папку c html-страницами.

/* Вставить CSS-стилевой файл для скомпилированного CHM-файла */

function fnInsertExternalStyleSheet(filename) {
  var path = unescape(location.pathname);
  var i = path.lastIndexOf("\\"), j = 0, doc_type = "";
  if (path.indexOf("::") != -1 ) { // это CHM-файл
    doc_type = "CHM";
    if (path.charAt(0) == "@" ) { // отрезать @MSITStore: ..
     j = path.indexOf(":") + 1;
    } // иначе это ms-its: .. путь начинается в начале строки
  }
path = path.substring(j, i+1);
  if (doc_type == "CHM") {
    document.writeln("<link rel=\"stylesheet\" href=\"file://" + path + filename + "\" type=\"text/css\">");
    //alert("This is a CHM file\n<link rel=\"stylesheet\" href=\"file://" + path + filename + "\" type=\"text/css\">");
  }
}

/* Задайте имя внешнего файла, например style.css как параметр функции */
fnInsertExternalStyleSheet("styles.css")


В каждую html-страницу нужно добавить строку

<link href="styles.css" rel="stylesheet" type="text/css">
<script language="javascript" src="external.js" type="text/javascript"></script>

По сути в точку вызова будет вставлена строка со ссылкой на внешний файл styles.css находящийся в одной папке вместе с CHM-файлом. Предыдущая строка на внутренний styles.css необходима если отсутствует внешний styles.css.

Рекомендуется вместо ручной правки всех страниц сделать обычную замену в файлах найти 1-ю строку и заменить на 2 строки, свою и импортируемую.