Автозагрузчик 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
возможны три конфигурации:
$f3->set('AUTOLOAD','src/controllers/')
Затем все файлы под src/controllers/
будут автоматически загружены, но помните: src/controllers/
сопоставляется с корневым пространством имен, поэтому означает, что класс Index
должен принадлежать корневому пространству имен (полный путь: \Index
).
$f3->set('AUTOLOAD','src/')
Затем будут загружены все файлы под src/
, что означает, что класс Index
должен принадлежать Controllers
namespace (полный путь: \Controllers\Index
).
$f3->set('AUTOLOAD','./')
Тогда все файлы под ./
будут автоматически загружены, что означает класс Index
должен принадлежать пространству имен Src\Controllers
(полный путь: \Src\Controllers\Index
).
Я не знаю много о том, как 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. Это определенно помогло мне понять, как работают веб-сайты и стать лучшим веб-разработчиком.
Удачи!
Отрицательное поле на изображении должно работать:
.classy {margin: 0 -100px; width: calc(100% + 200px);}
... или просто так:
p img {margin: 0 -100px; width: calc(100% + 200px);}
... или проверить этот пост: Создание Джекила IMG шире, чем текст?