nickswalker / neuegal
简单的基于文件系统的图片库。
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 16:03:19 UTC
README
一个简单、无数据库、PHP 图片库。轻量级且速度极快。
特性
- 通过 FTP 上传。无复杂的后台界面。
- 嵌套文件夹
- 支持 JPEG 和 PNG 格式
- 精美的默认主题让你的图片更加出众
- 响应式;在移动设备上看起来也很棒
- 可选自定义图片和文件夹描述,使用文本文件
- 自动生成缩略图,或使用你自己的自定义缩略图(或同时进行两者)
- 完全可主题化...
- 或者只需简单使用自定义 CSS 调整
安装
使用 Composer
将 nickswalker/neuegal 添加到你的 composer.json 的 require 部分。运行 composer update。你现在应该可以访问到 \Nickswalker\NeueGal\NeueGal,这是项目的主要类。使用完整的路径构造一个 NeueGal 对象和额外的路径参数。以下是一个基本的实现,可以在服务器的根目录下运行
require 'vendor/autoload.php'; $themePathFromRoot = realpath('themes/default'); //Where is your theme? //Note that the theme MUST be in a publicly accesible directory! //Otherwise your CSS won't load :( $galleryPathFromRoot = realpath('Sample Gallery'); $neuegal = new \Nickswalker\NeueGal\NeueGal($themePathFromRoot, $galleryPathFromRoot); $neuegal->display();
你需要将 index.php、resume.xml、主题文件夹和示例图片库文件夹从 composer 放置的 vendor 目录移动到你希望简历可用的位置,否则使用 composer update 更新将覆盖文件。请注意,主题目录和照片目录必须在你的服务器上公开访问。使用你的更改修改 index.php 中的路径。
不使用 Composer
转到上面的版本标签,下载最新版本的存档。直接从 GitHub 下载源代码 将不会工作,因为它不会包含 composer 的自动加载文件。将其解压到运行 PHP 5.3 或更高版本的 PHP 服务器的期望安装位置,你就可以开始使用了。
使用
添加图片和文件
如果你不喜欢内置的花卉照片库(来自我自己的作品;)),你可以将其清空。只需通过 FTP 将图片或文件夹添加到目录中,你的图片库就会更新并显示它们,就像你想象的那样。然而请注意,目录信息被缓存,你可能需要删除照片目录中的缓存文件夹,以便服务器立即更新。
添加描述
图片描述从照片目录中的 .txt 文件中动态检索。因此,要为 flower.jpg 添加描述,你需要在照片存储的同一目录中创建 flower.txt。文件夹描述从给定目录中的 description.txt 文件中动态检索。
### 覆盖动态生成的缩略图 NeueGal 会将缩略图生成并缓存到照片目录中的缓存文件夹。如果你想有更多的控制权,你可以在画廊中的 custom thumbnails 目录中创建自己的缩略图并上传它。例如,如果你想为 mygallery/nested folder/flower.png 创建缩略图,你需要在 mygallery/custom thumbnails/nested folder/flower.png 创建缩略图。
设置
在你的主题目录中,你会找到一个 settings.php 文件,它可以选择性地覆盖位于 src 目录中的根设置文件中的设置。不要在根文件中调整设置,因为所有更改都会在更新期间被覆盖。
主题化
"我只是想调整一些东西"
简单!将一个custom-style.css文件添加到存放你照片的文件夹中,它将自动被加载。
“我想编写一个完全定制的主题”
默认主题是NeueGal灵活性的一个例子。但项目的目标是尽可能轻量,这意味着放弃任何依赖,包括模板引擎。内置的解析和模板功能可能不如专注于该目的的许多PHP框架强大,但它们是相当不错的。
入门指南
在主题目录中创建一个文件夹。确保在初始化NeueGal时传递此目录的路径。在你的主题目录中创建一个settings.php和一个template.php文件,然后你就可以开始了。
更改格式
你可以通过在设置数组中设置以下索引来覆盖NeueResume将XML元素放入的HTML结构
return array( 'theme' => array( 'imageFormat' => $imageFormat, 'folderFormat' => $folderFormat ) );
请注意,你可以覆盖此文件中的任何设置(甚至可以自己创建一些,这些将通过当模板被处理时传递到你的模板中的$settings变量来访问)。默认的imageFormat索引字符串(可以在根settings.php文件中找到)看起来像这样
<li> <a title="{{Title}} {{Description}}" class="thumb-container" href="{{Path}}" > <img src="{{ThumbPath}}" alt="{{Title}}" /> </a> </li>
双括号中的单词将被正在处理的item对应的节点内容所替换。默认的folderFormat非常相似。
更改页面结构
你主题文件夹中的template.php是你可以更改整个页面的地方。把它当作一个HTML文件,你可以从中调用PHP来获取一些重要变量。<?php $this->showGallery();?>将输出当前目录处理成你主题指定的HTML格式的图像和文件夹。你可以访问传递到模板中的$settings数组上创建的任何设置。此外,你还可以访问$vars数组中的一些有用值。以下是在访问mygallery/Nested Folder/时(其中画廊根也是服务器的文档根)的$vars的var_dump示例
[current_directory] => Nested Folder/ [gallery_url] => / [current_folder_name] => Nested Folder [description] => That's right, folders in folders
查看默认主题的模板以了解如何使用这些信息创建一个连贯的结构。
问题
有bug吗?请在GitHub上创建一个issue:https://github.com/nickswalker/neuegal/issues
