23 заметки с тегом

кодинг

Позднее Ctrl + ↑

Обновляем и меняем скрипт подсветки кода в Эгее

На данный момент в Эгее стоит довольно старенькая версия скрипта подсветки кода Ивана Сагалаева, поэтому я решил обновить её на последнюю версию и изменить стиль на более подходящий моему шаблону.

Вам нужно это сделать если:

  1. Вам нужна подсветка не только веб-языков.
  2. Вам нужно другое оформление подсветки для вашего шаблона Эгеи.
  3. Вы маньяк последних версий.

Последовательность действий для смены скрипта Highlight.js в Эгее

  1. Забираем с сайта автора скрипта его последнюю версию и выбираем тему оформления.
    Скачиваем скрипт предварительно выбрав нужные вам языки в разделе «Custom package» и параллельно выбираем тему.
  2. Подготавливаем скрипт к Эгее.
    Распаковываем скачанный скрипт.
    Переименовываем highlight.pack.js в highlight.js и добавляем в конец скрипта строку hljs.initHighlightingOnLoad(); (Спасибо Илье за комментарий в license.txt!)
    Находим в папке styles выбранную вами тему и переименовываем в highlight.css
  3. Заменяем старый скрипт на новый.
    Переходим в Эгее по пути system → library → highlight и меняем имеющиеся там файлы на свои.
 27   2014   блог   Е2   кодинг

Ошибка функции file_put_contents() и пути её решения

С утра блог «порадовал» меня следующим сообщением: «PHP (2): file_put_contents() [function.file-put-contents]: Only 0 of 16364 bytes written, possibly out of free disk space».

Скриншот безобразия.

Причина ошибки в том, что движок сайта не может кэшировать публикацию в Эгеи или сохранить другую информацию в файл по причине недостатка места или недоступности записи на хостинге.

Пути решения

  1. Проверьте права записи на папку в которую происходит запись (поставьте CHMOD 777).
  2. Почистите кеш, то есть поищите папки с названием cache и удалите из них информацию (в Эгеи открытием ссылки «http://ваш_блог.ru/?go=@sync») или очистите кеш в CMS.
  3. Если ошибка не ушла, свяжитесь с хостером или проверьте не забился ли логами или ещё чем ваш сервер.
 99   2014   php   Е2   кодинг

Выводим популярные публикации за пределы Эгеи

Решил вывести популярные публикации блога на главную страницу сайта. Может кому пригодится. В нужном месте вставляем вызов этой функции.

// Взятие популярных постов из блога
function popular_post_links () {
// Читаем кеш популярных постов
$s = @file_get_contents ('blog/user/caches/popular.ctree.psa'); 
// Вместо "blog" название вашей папки с Эгеей 
$s = @unserialize ($s);
// Выводим название популярных постов
foreach ($s as $item) {
  echo '<p><a href="' . $item['href'] . '">' . $item['title'] . '</a></p>';
}
}
 1 комментарий    25   2014   php   Е2   кодинг

О социальных кнопках

Напрягает, когда прочитав статью тебе необходимо скролить в её начало в поиске социальных кнопок. Ещё напрягает их скрытость или отсутствие. В каком веке существует блог или ресурс?
Итак, где должны в статьях быть расположены социальные кнопки? Ответ банален. В начале статьи и в её конце. В начале для тех, кто уже уверен в том, что публикацией нужно поделиться. В конце для тех, кто прочитал публикацию и решил ею поделиться. Вариант со скользящими по странице социальными кнопками тоже подойдёт.
Какие социальные сети наиболее востребованы? Для меня это «Фейсбук», «ВКонтакте», «Твиттер» и «Гугл+». В дизайнерских блогах можно добавить возможность запинить картинки в «Принтерест» или опубликовать в «Тамблер», а в обучающих возможность отправить статью в «Покет» (хотя чаще пользуюсь приложениями к браузерам). «Однокласники» и «Мой мир», на мой взгляд, в конце списка (именно в такой последовательности).
Если вы не можете вставить кнопки взяв их с интересующих вас социальных сетей, то воспользуйтесь сервисами, которые позволяют вставить их достаточно просто. При этом выбрать нужные социальные сети и вид кнопок.

Сервисы социальных кнопок:
PLUSO
share42.com
Social Likes
AddThis
Лайкли
Ridiculously Responsive Social Sharing Buttons

P.S. Если вы знаете другие сервисы поделитесь ими.

 1 комментарий    18   2014   кодинг   мысли   сайтостроение

Динамическая версия CSS и JS

Периодически приходится немного править каскадные таблицы стилей и скрипты на разных проектах. До сих пор я использовал следующее решение:

<link rel="stylesheet" href="/styles/main.css?<?php echo time(); ?>" />
<script src="/js/main.js?<?php echo time(); ?>"></script>

Где php-вставка подставляла текущее время и получался следующий код:

<link rel="stylesheet" href="/styles/main.css?1401823964" />
<script src="/js/main.js?1401823964"></script>

Это позволяло автоматически обновлять в браузере CSS и JS файлы с которыми работаю (борьба с кешированными версиями обновляемых файлов), создавая «разные» версии файлов, при каждой перезагрузке страницы. Но правильно ли так делать? Ведь даже если я ничего не менял, все равно браузер грузил все по новому.

Возможно, что лучше применять следующий алгоритм работы с кешем файлов такого типа:

  1. Берётся время последнего изменения файла.
  2. Сравнивается со временем указанным как версия файла (или с хранимыми где-то последними версиями файлов, которые используются).
  3. Если они равны, то ничего не меняется.
  4. Если не равны, то версия файла меняется на время последнего изменения файла (или старый файл заменяется новым).

Стоит ли вообще на этом заостряться? Или лучше воспользоваться одним из решений предложенных в дополнительных материалах или предложенным выше (вторая ссылка вроде предлагает решение по этому алгоритму)?

Дополнительные материалы

Умное Кеширование и Версионность в Javascript/CSS
(en) Automatic merging and versioning of CSS/JS files with PHP
(en) Automatic versioning of CSS, JavaScript and Images
(en) Simple CSS/JS Concatenation and Versioning with PHP
(en) Automating JS and CSS Versioning
(en) Make your pages load faster by combining and compressing javascript and css files

 1 комментарий    269   2014   css   js   php   кодинг

Стильный, красивый и понятный код

Только дурак нуждается в порядке — гений господствует над хаосом. © Альберт Эйнштейн

Я не гений, поэтому считаю, что мне при написании кода и работе с ним нужно стараться придерживаться неких правил. Я собрал для себя подборку источников возможных правил (буду добавлять по мере нахождения полезных материалов), на основании которых буду формировать свои. При этом, нельзя не упомянуть об W3C и валидации кода.

Источники правил:

Когда CSS-код с душком
Почему стиль кода имеет значение
Руководство по оформлению HTML/CSS кода от Google
10 признаков профессиональной html-верстки
Искусство семантики HTML, часть 1
(en) GitHub styleguide
(en) Code Standards от Fellowship Technologies
CSS GuideLines, часть 1.Синтаксис и форматирование
CSS GuideLines, часть 2. Комментирование кода
Принципы написания кода
Руководство по форматированию CSS
Улучшаем читабельность CSS-кода с помощью «стилевых гидов»
(en) CSS Guidelines by Harry Roberts

Не по теме, но полезно:

WTF, HTML и CSS?

Валидаторы кода:

W3C
Валидатор HTML-кода
Валидатор CSS-кода

 4 комментария    153   2014   кодинг   мысли

Вывод заголовка из Эгеи в любое место сайта

Илья Бирман осуществил свой вывод заголовка из блога на сайте через обработку кеша блога, а я сделал это через функцию php берущую значение из базы:

// Взятие название последнего поста из блога //
function last_post_title () {
	$query = mysql_query("SELECT `Title` FROM `e2BlogNotes` WHERE `IsPublished` = '1' ORDER BY `Stamp` DESC LIMIT 0,1");
	$r = mysql_fetch_array($query);
	$last_post_title = "".$r['Title']."";
	return $last_post_title;
}

Вывод заголовка.

<?php echo last_post_title (); ?>
 20   2014   Е2   кодинг

Сказ о префиксах CSS3

Ох уж мне эта кроссбраузерность, а особенно прописывание префиксов. (К слову сказать, я частенько вообще про это забываю!) Соберу-ка я сейчас все, что с ними связанно, в этой публикации. Мне пригодится, и, глядишь, еще кому.

Препроцессоры поддерживающие префиксы для Coda 2

SASS
LESS

Скрипты создающие префиксы

-prefix-free (2 kb)
CSS 3 Finalize (7.395 kb)
cssFx (13.309 kb)

Генераторы добавляющие префиксы

CSSPrefixer
-Prefix-MyCSS

Полезные статьи про префиксы

Расставляем префиксы и сжимаем CSS автоматически с Ruseller.com
CSS3: жизнь без префиксов с Хабра

 16   2014   css   кодинг   мысли

Минимализм в названии папок при кодировании

Чем больше погружаюсь в сайтостроение и кодинг, тем больше возникает различных вопросов. Например, почему не постараться стандартизировать и упростить наименование папок в CMS и любом другом движке? Попробую сейчас придумать такие упрощенные наименования, исходя из условий, которые для себя поставлю.
Основные условия наименования:

  • Не больше 4 символов (надо же стимулировать работу мозга)
  • Стараться использовать общепринятые обозначения при возможности
  • Символы брать из английского слова характеризующего содержание.

Движок — юзабилити

css — папка стилей
thms — папка с темами
lg — папка языковых файлов
docs — папка документации

Контент

i — папка изображений
s — папка аудио
v — папка видео
p — папка фотографий

Движок — основные папки

js — папка для javascript
inc — папка подключаемых данных
a — административная папка
com — компоненты движка сайта (привет joomla)
mod — модули движка сайта
plg — плагины движка сайта
fn — папка функций
lib — папка библиотек
clss — папка классов
logs — папка логов

Разное

misc — папка для всякой всячины
tmp — папка для временной информации
upl — папка загрузок

P.S. Все выше написанное условно и подвергается конструктивной критике. Жду комментариев и предложений!

 13   2014   кодинг   мысли   сайтостроение
Ранее Ctrl + ↓