Typecho插件MediaLibrary制作思路
媒体库管理插件,可以在后台对整体文件信息的查看和编辑、上传和删除,多媒体预览,文章编辑器中预览和插入的简单媒体库。支持云存储功能。
目前目录结构:
MediaLibrary/ # 媒体库插件主目录
├── Action.php # 插件动作处理文件
├── Plugin.php # 插件主类定义文件
├── panel.php # 插件管理面板主文件
├── write-post-media.php # 写文章时的媒体选择功能
├── assets/ # 静态资源目录
│ ├── css/ # 样式文件目录
│ │ ├── media-library.css # 媒体库样式文件
│ │ └── panel.css # 管理面板样式文件
│ └── js/ # JavaScript文件目录
│ ├── mammoth.browser.min.js # 用于解析Word文档的库
│ ├── panel.js # 管理面板JavaScript文件
│ └── write-post-media.js # 写文章时的媒体选择JavaScript
├── lib/ # 第三方库目录
│ ├── PHPExiftool/ # PHPExiftool库,用于读取媒体文件元数据
│ │ ├── ClassUtils/ # 类工具目录
│ │ ├── Driver/ # 驱动目录
│ │ ├── Exception/ # 异常处理目录
│ │ ├── Tool/ # 工具目录
│ │ ├── Exiftool.php # Exiftool主类
│ │ ├── Factory.php # 工厂类
│ │ ├── FileEntity.php # 文件实体类
│ │ ├── InformationDumper.php # 信息导出类
│ │ ├── PHPExiftool.php # PHPExiftool主类
│ │ ├── PreviewExtractor.php # 预览图提取类
│ │ ├── RDFParser.php # RDF解析器
│ │ ├── Reader.php # 读取器类
│ │ └── Writer.php # 写入器类
│ └── getid3/ # getID3库,用于获取音视频文件信息
├── modules/ # 模块目录
│ ├── MailServices/ # 邮件服务模板目录
│ │ ├── friendlink_approved.html # 友链批准通知模板
│ │ ├── friendlink_notify.html # 友链通知模板
│ │ ├── friendlink_reject.html # 友链拒绝通知模板
│ │ ├── guest.html # 访客邮件模板
│ │ └── owner.html # 站点所有者邮件模板
│ ├── Markdown/ # Markdown解析器模块
│ │ ├── Parsedown.php # Parsedown解析器
│ │ ├── ParsedownExtension.php # Parsedown扩展
│ │ ├── ParsedownExtra.php # Parsedown额外功能
│ │ └── Parser.php # 解析器主类
│ ├── Tinypng/ # Tinypng图片压缩模块
│ │ ├── Tinify/ # Tinify主目录
│ │ ├── Tinify.php # Tinify主类
│ │ └── data/ # 数据目录
│ ├── aliyun_oss/ # 阿里云OSS存储模块
│ │ └── aliyun-oss-php-sdk-2.6.0.phar # 阿里云OSS SDK
│ ├── baidu_bos/ # 百度BOS存储模块
│ │ └── BaiduBce.phar # 百度云SDK
│ ├── cache/ # 缓存模块
│ │ ├── composer/ # Composer相关文件
│ │ ├── league/ # League相关文件
│ │ ├── matthiasmullie/ # Matthias Mullie相关文件
│ │ ├── psr/ # PSR标准相关文件
│ │ ├── autoload.php # 自动加载文件
│ │ ├── cache.interface.php # 缓存接口定义
│ │ ├── typecho_apcu.class.php # APCU缓存类
│ │ ├── typecho_flysystem.class.php # Flysystem缓存类
│ │ ├── typecho_memcached.class.php # Memcached缓存类
│ │ ├── typecho_memory.class.php # 内存缓存类
│ │ ├── typecho_redis.class.php # Redis缓存类
│ │ └── typecho_sqlite.class.php # SQLite缓存类
│ ├── huawei_obs/ # 华为云OBS存储模块
│ │ ├── Obs/ # OBS主目录
│ │ ├── composer.json # Composer配置文件
│ │ ├── obs-autoloader.php # OBS自动加载文件
│ │ └── vendor/ # 依赖库目录
│ ├── qiniu_kodo/ # 七牛云KODO存储模块
│ │ ├── autoload.php # 自动加载文件
│ │ └── src/ # 源码目录
│ ├── tencent_cos/ # 腾讯云COS存储模块
│ │ └── phar/ # Phar打包文件目录
│ └── upyun_uss/ # 又拍云USS存储模块
│ ├── src/ # 源码目录
│ └── vendor/ # 依赖库目录
评论区