Разные ширины для изображений и текстов с Jekyll

Автозагрузчик Fat-Free Framework очень прост. Он ожидает, что вы определите одну или несколько автозагружаемых папок, каждая из которых будет отображаться в корневое пространство имен.

Итак, скажем, вы определяете $f3->set('AUTOLOAD','app/;inc/'), а ваша файловая структура:

- app
- inc
- lib
  |- base.php
- index.php

Затем класс с именем MyClass, принадлежащий пространству имен Foo\Bar (полный путь: Foo\Bar\MyClass), должен быть сохранен либо в app/foo/bar/myclass.php, либо inc/foo/bar/myclass.php (помните: мы указали две папки для автоматической загрузки).

Примечание: не забудьте указать namespace Foo\Bar в начале myclass.php (автозагрузчик не сделает этого для вас).

-

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

- lib
  |- base.php
- src
  |- controllers
     |- index.php
- index.php

возможны три конфигурации:

Конфигурация 1

$f3->set('AUTOLOAD','src/controllers/')

Затем все файлы под src/controllers/ будут автоматически загружены, но помните: src/controllers/ сопоставляется с корневым пространством имен, поэтому означает, что класс Index должен принадлежать корневому пространству имен (полный путь: \Index).

Config 2

$f3->set('AUTOLOAD','src/')

Затем будут загружены все файлы под src/, что означает, что класс Index должен принадлежать Controllers namespace (полный путь: \Controllers\Index).

Config 3

$f3->set('AUTOLOAD','./')

Тогда все файлы под ./ будут автоматически загружены, что означает класс Index должен принадлежать пространству имен Src\Controllers (полный путь: \Src\Controllers\Index).

1
задан 16 January 2019 в 13:06
поделиться

2 ответа

Я не знаю много о том, как Jekyll обрабатывает Markdown + HTML, но возможное решение - перейти с Markdown на HTML только для изображений.

Документы Jekyll имеют хороший пример передачи параметров тегу include в Jekyll. Пример в документации похож на то, что я предлагаю. В папке /_includes/ будет находиться файл image.html, содержащий тег <img>, классы и все, что вам нужно для изображений. Вы должны передать URL-адрес изображения или местоположение файла в качестве параметра include, чтобы оно загружало изображение со всем вашим HTML вместо Jekyll, обрабатывая его и добавляя свой собственный HTML. Будет работать что-то вроде следующего:

# /_includes/image.html
<img src="{{ include.src }}" alt="{{ include.alt }}" title="{{ include.title }}" />


# in some other file where you want to add an image
{% include image.html src="..." alt="..." title="..." %}

Если вы не вкладываете тег include под какой-либо Markdown, такой как ## header или - list, Jekyll следует надеяться просто взять image.html и непосредственно положить его на выход, не окружая его ничем.

Вы также можете добавить другие параметры, такие как height={{ include.height }} width ={{ include.width }}, чтобы вручную установить высоту / ширину.

Наихудший сценарий полностью переключается с Markdown на HTML. Это дает вам полный контроль над выводом, так как Jekyll не будет вставлять свои собственные теги переноса. Переключение определенно было бы хлопотно, но, исходя из опыта, я определенно многому научился, написав собственный блог на HTML. Это определенно помогло мне понять, как работают веб-сайты и стать лучшим веб-разработчиком.

Удачи!

0
ответ дан DC.Azndj 16 January 2019 в 13:06
поделиться

Отрицательное поле на изображении должно работать:

.classy {margin: 0 -100px; width: calc(100% + 200px);}

... или просто так:

p img {margin: 0 -100px; width: calc(100% + 200px);}

... или проверить этот пост: Создание Джекила IMG шире, чем текст?

0
ответ дан JoostS 16 January 2019 в 13:06
поделиться