sjtu-umji-tech / ji-life
为JI的所有学生提供的一个网站
dev-inspinia
2018-04-22 09:56 UTC
Requires
- php: >=5.3.23
- codeigniter/framework: ^3.1
- league/oauth2-client: ^0.12.0
- phpoffice/phpexcel: ^1.8
- qiniu/php-sdk: ^7.1
- symfony/console: ~2.8.0
- zendframework/zend-permissions-acl: ~2.5.0
This package is not auto-updated.
Last update: 2024-09-23 16:06:29 UTC
README
为JI的所有学生提供的一个网站
需求
PHP >= v5.4
Composer >= v1.3.2
Nodejs >= v7.4.0
npm >= v4.0.5
服务器是用CodeIgniter 3构建的,前端是用requirejs构建的。
我们强烈建议您使用jetbrains PhpStorm IDE开发或部署此网站,该IDE为学生提供免费的教育许可证。我们的教程大多基于它。
安装
确保您满足上述所有要求,并运行以下脚本
php composer.phar install
npm install
npm run compile:template
npm run compile:build
该脚本执行以下操作
- 通过composer安装PHP依赖项
- 通过node和bower安装Node和Bower依赖项
- 编译Handlebars模板
- 构建整个前端配置文件app.*.js
要开始开发,运行
sudo npm run deploy:development
要开始生产,运行
sudo npm run deploy:production
此脚本将根据不同的用途复制不同的文件,然后您可以上传整个项目到FTP服务器。您可能需要更改部署/开发|生产目录中的文件内容以实现某些目的。
请记住将文件夹 js、css、node_modules、bower_modules 的模式设置为 755,将文件夹 uploads 的模式设置为 777,否则在Linux服务器上某些功能可能无法正常工作。
在 etc/apache2/sites-enabled 中的 000-default.conf 中编辑,并将 DocumentRoot 更改为您的工作目录,例如 "var/www/ipp"。然后,将以下内容添加到文件末尾。
<Directory /var/www/ipp>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
到文件的末尾。
Ubuntu上的Apache2没有启用重写引擎,使用以下命令启用它。
sudo a2enmod rewrite
sudo service apache2 restart
贡献
JI的所有学生都欢迎为此项目做出贡献。有关开发参考,请参阅WIKI。
参考
- babel Babel是为编写下一代JavaScript而设计的编译器。
- bootstrap 是在Web上开发响应式、移动优先项目的最流行的HTML、CSS和JavaScript框架。
- bootstrap-touchspin 是Bootstrap 3的一个移动和触摸友好的输入微调器组件。
- bower 是Web的包管理器。
- Chart.js 是使用 <canvas> 标签的简单HTML5图表。
- chosen Chosen是一个库,用于使长而难以操控的select框更友好。
- clean-css 是node.js和Web的快速高效的CSS优化器。
- code-prettify 是一个可嵌入的脚本,它使HTML中的源代码片段更美观。
- CodeIgniter 是一个开源PHP框架(最初来自EllisLab)。
- console Console组件简化了美观和可测试的命令行界面的创建。
- cropper 是一个简单的jQuery图像裁剪插件。
- editor.md 开源可嵌入的在线Markdown编辑器(组件)。
- flatpickr 无依赖的轻量级且强大的日期时间选择器。
- flowchart.js 从图表的文本表示绘制简单的SVG流程图。
- FontAwesome 图标字体和CSS工具包。
- Footable jQuery插件,用于使HTML表格响应式。
- Gritter jQuery的一个小巧的growl-like通知插件。
- Handlebars Handlebars.js是由Chris Wanstrath创建的Mustache模板语言的扩展。
- jQuery jQuery JavaScript库。
- jQuery-slimScroll 一个将任何div转换为具有漂亮滚动条的滚动区域的jQuery小插件。
- jquery-ui 官方的jQuery用户界面库。
- jquery.flowchart 允许你绘制流程图的jQuery插件。
- js-sequence-diagrams 从图表的文本表示绘制简单的SVG顺序图。
- katex 网页上的快速数学排版。
- marked 一个用于快速解析和编译Markdown的库。
- metismenu 一个jQuery菜单插件。
- oauth2-client 与OAuth 2.0服务提供商的简单集成。
- pace 自动为你的网站添加进度条。
- PHPExcel 用于读取和写入电子表格文件的纯PHP库。
- qrcodejs 用于javascript的跨浏览器QRCode生成器。
- raphael JavaScript矢量库。
- require-css RequireJS CSS加载插件,允许CSS需要和优化。
- requirejs JavaScript文件和模块加载器。
- select2 Select2是基于jQuery的select框的替代品。支持搜索、远程数据集和结果的无限滚动。
- shelljs Node.js的便携式Unix shell命令。
- toastr 简单的javascript toast通知。
- UglifyJs NodeJS的JavaScript解析器/压缩器/美化器库。
- underscore JavaScript的实用工具带。
- xterm.js 在浏览器中的完整xterm终端。
- zend-permissions-acl 提供了一个轻量级且灵活的访问控制列表(ACL)实现,用于权限管理。