|
|
|
| здрасьте всем :)
Не так давно я открывал тему про инструменты для вёрстки, которые позволили бы разбивать хтмл на логические части.
Так как в интернете ничего подходящего я не нашел, то пришлось написать свою утилитку на пхп, которая решает самые важные задачи при разбиении файлов на части.
Зачем мне нужен С++ программист: я хочу эту утилитку переделать в виндовое приложение, а то сейчас оно работает только на апаче при запуске спец. страницы, а хотелось бы, чтобы можно было обходиться без запуска страниц под апачем.
Проект опенсорсовый. На данный момент есть основа - код написанный на С++, но он не ещё выполняет всего необходимого списка функций. Потому если есть желающие поупражняться на проекте, который будет нужен больше чем одному человеку, то дайте мне знать, пожалуйста :)
ЗЫ. По времени написания утилита на пхп заняла от силы 4 часа времени. Потому на С++ думаю уйдёт в районе 2х дней (хотя я не могу точно оценить, так как я на С++ не программил).
ЗЗЫ. Ув. модераторы, а добавьте к концу названия темы знак вопроса, а то я что-то забыл его вписать :) | |
|
|
|
|
|
|
|
для: Lelik
(07.12.2011 в 15:20)
| | Два дня может и в больше количество вылиться на C++... но мы можем с вами поработать над проектом, если вы опишите стоящие задачи более подробно. В чем загвоздка? Нужен GUI? | |
|
|
|
|
3.5 Кб |
|
|
для: cheops
(07.12.2011 в 16:20)
| | в прилагаемом файле есть описание более-менее подробное | |
|
|
|
|
|
|
|
для: Lelik
(07.12.2011 в 16:21)
| | Это должна быть консольная утилита или нужно сразу ориентироваться на графический интерфейс? Это чисто Windows проект или следует избегать Windows API?
PS Быстро разработать приложение я не смогу просто по временным параметрам (много разных дел в студии, особенно под конец года), но могут подготавливать проекты-заготовки от которых можно будет отталкиваться при реализации тех или иных фич. При должном терпении можно будет в конце конов собрать программу. | |
|
|
|
|
|
|
|
для: cheops
(07.12.2011 в 16:26)
| | это виндовая утилита. суть такая, что вы её запускаете и она сразу из трея работает. никаких консолей, так как за годы работы с хтмл-верстальщиками я успел понять, что для многих в хтмле написать цикл на пхп уже таинство 12 массонской ложи, а про консоль я вообще молчу :)
ЗЫ. быстро и не надо, просто я хочу её привести в итоге к удобной командной работе, т. е. работа с гитхабом без консолей. просто чтобы можно было через виндовые интерфейсы настроить всё.
ЗЫЫ. Я вам несказанно благодарен за эту помощь :) | |
|
|
|
|
|
|
|
для: cheops
(07.12.2011 в 16:20)
| | также я могу выложить файлы, которые на ПХП у меня есть и объяснить как сейчас всё работает :) | |
|
|
|
|
|
|
|
для: Lelik
(07.12.2011 в 16:22)
| | Это было бы хорошим подспорьем. | |
|
|
|
|
4.2 Кб |
|
|
для: cheops
(07.12.2011 в 16:26)
| | папку из архива приложенного к сообщению я ложу в корень директории где верстаю.
её содержимое:
back/
body/
head/
compile.php
config.php
fns.php
layout.php
links.php |
config.php - файл конфигурации, в котором вводятся настройки по структуре и компилированию проекта
$SYSTEM_FOLDER - массив, в котором прописываются файлы и папки, которые не меняются и удалять их нельзя (при компилировании удаляются все файлы и папки которые не прописаны в этом массиве из корневой директории и создаются новые на основе массива $FILE_LIST)
$FILE_LIST - массив, в котором описана структура сайта. состоит из массивов, где:
'folder'=> имя директории в которую будут укладываться новосозданные файлы, можно не указывать, тогда будет корневая директория
'name'=> имя раздела (нужно для использования файла links.php)
'files'=> массив в котором описывается список файлов в директории.
ключи в этом массиве это названия файлов:
'reg.html'=> это значит, что создастся файл reg.html
'title'=> это заголовок страницы, который будет прописан в теге title
'includes'=> список логических частей страницы, которые должны быть на странице. список берется из файла layout.php
layout.php - файл основной разметки страницы, так сказать каркас
функция INSERT принимает 3 значения:
1. $INCLUDES['content'] - это значит, что в файле config.php, для текуще генерируемого файла надо посмотреть в его 'includes'=>, т. е. в этой переменной будет путь из 'includes'=> array('content'=>$ROOT_DIR.'source/body/reg/reg.php')
2 и 3 значение это имя файла и деректори в которое они будут включаться. передается для того, чтоб во включаемом файле можно было передать эти значения в функцию LINK.
LINK($curr_page, $curr_folder, $page, $link_code, $curr_page_code)
$curr_page - имя текущего генерируемого файла
$curr_folder - имя папки в которой находится генерируемый файл
$page - страница или папка для сравнения
$link_code - хтмл код для обычного отображения
$curr_page_code - хтмл код для случая, если $curr_page == $page или $curr_folder == $page
нужно для того, если мы находимся в текущем разделе, то можно было вместо ссылки на раздел поставить текст
fns.php - файл с функциями
links.php - файл в котором генерируется список ссылок на сгенерированные файлы
compile.php - файл, на основе массива $FILE_LIST из файла config.php генерирует хтмл страницы, а также создает бекапы основных файлов (один раз перетёрли config.php, в котором были записи о 50 файлах, потому перестраховка не помешает :)
ну и папки
back/
тут создаются бекапы
body/
здесь хранятся файлы которые будут инклудится между тегами body
head/
здесь хранятся файлы которые будут инклудится между тегами head | |
|
|
|
|
|
|
|
для: Lelik
(07.12.2011 в 17:04)
| | А как запустить файл и настроить config.php? Каков должен быть порядок действий и что я должен получить в результате? | |
|
|
|
|
|
|
|
для: cheops
(07.12.2011 в 20:15)
| | конфиг надо заполнить, а запускать /source/compile.php | |
|
|
|
|
|
|
|
для: cheops
(07.12.2011 в 16:26)
| | надеюсь изложил доступным языком :) | |
|
|
|
|