2013-07-22 2 views
1

Я имею дело с проектом, который имеет плоскую иерархию, когда дело доходит до структуры файлов и папок, что означает, что все напрямую подчинено URL-адресу. Например. myproject.com/page1Breadcrumbs в DocPad

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

Я думал использовать метаинформацию документов для назначения/отображения иерархии. К сожалению, мои навыки coffescript слишком низки, чтобы даже подумать о том, как интегрировать панировочные сухари на этом уровне.

Моя идея (которая может быть не самая умная!) Должна была иметь такие значения, как «tier1», «tier2» и «tier3» в мета-секции, которые затем преобразуются в структуру ссылок с некоторыми coffeescript magic.

Есть ли у кого-нибудь намеки, как это начать? Я надеюсь помочь другим, начав эту дискуссию - может быть, мы придумаем еще более дешевое решение, чем мой подход?

+0

Вы что-то поняли? Мне тоже интересно. :) – greduan

+0

Да, но только очень ручной подход, но достаточно хороший для моих нужд. См. Мой комментарий в предложении balptons. Дайте мне знать, если вам нужна дополнительная информация. – psteinweber

ответ

0

Сайт DocPad и Bevry выполняет что-то подобное для его рендеринга документации и соответствующей иерархии. Однако код для этого достаточно специализирован.

Плагин для панировочных сундуков, который делает это супер легким, будет удивительным. Способ, которым можно было бы пойти, - иметь атрибут метаданных parent: blah, при этом плагин автоматически настраивает его, когда он еще не существует. Он может быть установлен на relativePath документа и использовать fuzzyFindOne, чтобы найти его - https://github.com/bevry/docpad/blob/51bb734dfd064a05d9047ca1f8687aa0a39f5450/src/lib/collections/files.coffee#L22-L42 - однако он также может быть просто установлен на строковое значение. Я думаю, если родительский документ не существует. Для родительских документов, которые не существуют, импортеры api могут использоваться для ввода документа для этого в любом случае.

Вопрос в том, что вы хотите, чтобы ваши панировочные сухари были документами/файлами? Или категория основана на сайтах docpad + bevry?

+0

Спасибо, Бенджамин. Теперь я пошел на совершенно ручное решение, которое я смог самостоятельно решить. Чтобы ответить на ваш вопрос, я думаю, мне нужны были основанные на категории сухари. Теперь я добавляю родительскую категорию в поле в мета-разделе, а также URL-адрес родительской категории (не придумал способ сделать это автоматически, но это всего лишь несколько страниц). И я просто поставил его вместе с некоторыми кофейниками в документах макета. Babysteps, но я горжусь тем, что могу это решить :) – psteinweber