虽说我的网盘(exm,也许页面确实丑了点,不过页面生成的样式你自己可以改)美工已经被乱刀砍死,但是还是有小伙伴问我是怎么搭建的

关于搭建

这个真没什么好说的,vps我只安装了nginx,然后配置域名指向到我的同步目录,然后用其他工具同步上去就行了(关于问自己手动同步麻烦的,其实并不麻烦,有很多好用的软件,本人用的Resilio Sync)

关于页面的生成

第一阶段

那时候只有两三个文件,html页面是我手写的手动增加的

第二阶段

此时已经有了一个子目录,文件开始增多,我开始考虑写个简单的先用着,Python的写了,不过速度感觉有点不如意(原谅我的吹毛求疵),并且有个麻烦事是每次重装系统后需要安装Python,然后我选用了Golang,时间仓促写了一个单页面生成,不进行目录深度遍历的,也就是说我每次新开一个目录需要把这个程序拷贝到当目录下双击生成html

第三阶段

文件夹和文件日益增多,上面的方式我已经感觉到特别繁琐了,需要找个机会把代码重构一下,使他更加优化
然后我开始着手写第二版,这个版本我没保留,具体功能就是对上一个版本做了一点改进,使它支持了深度遍历
但是自从T00ls灵车漂移事件以来,官方管理员给GetWriter老哥(如果谁认识希望告知,希望能致个歉)的一纸封书将此事推上风口浪尖,作为始作俑者,我网站首当其冲,遭受了大量老哥多来自夜间的洗礼(说实话,希望高抬贵手,流量快没了),这件事情持续发酵了两三天,我一直在思考,如何为老哥们带来更良好的观感体验,于是我觉得应该要让这个页面生成器对前端展示的修改更加方便,无须从代码入手,开始了第三版的编写

暂时实现的功能

  • 支持模板
  • 加入了配置文件(其实也是模板)
  • 加入了noView.txt规则(具体表现为这个txt中的文件名将不参与生成html页面)
    可能以后会抽时间再进行优化,这个时间不定,看哪天自己的需求更高了

更新记录在下面,更新后的代码就不贴了,之前的代码我就在这个页面上删了,自己感兴趣可以上github查看

至于前端

你们别想了,前端之魂在我体内没存在过,哪天兴致来了可能会看看相关知识,这个丑页面就丑着凑合看吧,如果有能力可以进行二次修改

为它搞了一套css与文件类型图标(关于style.css文件,是需要你放到远端在线调用的,你可以上传到七牛,或者你同步的时候放到网站根目录下,然后通过域名+/style.css的方式来调用)

更新记录

  • 对一部分冗余的进行了优化,提升了一丁点效率
  • 可以放到环境变量path了,不需要放到本目录里了,只需要在本目录调用就可以(当然),按照之前的方法也是可以的

  • 对文件li列表做了排序,优先级为后缀名->文件名
  • 对li列表加了css类,可以自定义li的css了,具体见生成后的文件
  • 为页面生成器搞了一套css,为类型加上了图标,具体效果见下图

下载地址

这次不能给抓住机会了,放github吧

自己网盘的页面生成器(私用公开-Golang)的更多相关文章

  1. Linux命令行上传文件到百度网盘

    利用bpcs_uploader你可以自动将VPS主机上的文件上传到百度网盘中,同时也可以从百度网盘中下载文件到VPS主机上,让你的文件安全地"住"在百度云中.[font=Tahom ...

  2. Aria2+yaaw+Chrome插件BaiduExporter实现百度网盘下载

    Aria2+yaaw+Chrome插件BaiduExporter实现百度网盘下载 这篇博客主要为了解决百度网盘下载限速以及linux等操作系统无百度客户端的问题.主要包括两个方面第一个是aria2的安 ...

  3. 利用Python爬虫实现百度网盘自动化添加资源

    事情的起因是这样的,由于我想找几部经典电影欣赏欣赏,于是便向某老司机寻求资源(我备注了需要正规视频,绝对不是他想的那种资源),然后他丢给了我一个视频资源网站,说是比较有名的视频资源网站.我信以为真,便 ...

  4. 百度网盘自动上传脚本-bpcs_uploader

    安装jsonpear install pecl/json 一.bpcs_uploader下载和使用: 1.下载地址:http://oott123.github.com/bpcs_uploader/ 2 ...

  5. IDM下载器使用方法详解:百度网盘下载,视频会员一网打尽!

    一. IDM的设置 [01]IDM插件与各大浏览器的集成 默认情况下,在成功安装IDM后,直接点击这里的选项,会弹出[常规设置],一般情况下直接保持默认的配置即可,如果你使用的是比较小众的浏览器,你可 ...

  6. 200G网盘资源分享

    今日偶得大量网盘资源,遂写一博文以分享! 来源:HACK学习呀,微信公众号:HACK学习呀 文件名 链接 提取密码 2015cracer入侵入门到精通视频教程 点我查看 trf3 一笔√带过入侵教程 ...

  7. 关于Pandownload和百度网盘

    本周,百度网盘第三方客户端 Pandownload 被查,开发者被“跨省追捕”:百度网盘“用户激励计划”在未充分告知用户的情况下,利用用户自己的电脑做 P2P 上传节点.这两件事再度引发了对百度网盘的 ...

  8. The Road To Hadoop(网盘系统的实现)

    因为毕业设计的原因,得从零开始学习hadoop.虽然接触Hadoop也有一段时间了,但是没有一个完整的时间段去学习,在公司实习的同时,只能利用零零碎碎的时间学习,今天完成了第一个版本的基于Hadoop ...

  9. C站投稿189网盘视频源(UP主篇)

    C站投稿189网盘视频源(UP主篇) 现在C站(吐槽弹幕网)的视频来源基本靠的都是189网盘,比如番剧区的每个视频基本来源于此,不像AB两站,拥有自己的资源服务器,为啥呢?没钱啊.都是外来的视频.本站 ...

随机推荐

  1. 排序(Sort)-----插入排序

       声明:文中动画转载自https://blog.csdn.net/qq_34374664/article/details/79545940    1.插入排序简介 插入排序(InsertSort) ...

  2. 实战http切换成https

    Server端使用Nginx + Tomcat Niginx SSL on Tomcat SSL non 步骤: 1.修改代码,将外部引用的http js css 文件修改为https,若外部链接不支 ...

  3. go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量

    go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...

  4. 1113: No mapping for the Unicode character exists in the target multi-byte code page

    windows版本nginx启动 报错. 启动方式:到nginx所在目录执行:nginx.exe -c conf\nginx.conf 原因:所在路径中含有中文字符. 解决:换个没有中文的路径.

  5. Symfony2 学习笔记之服务容器

    现在的PHP应用程序都是面向对象开发,所以主要是由对象构成.有的对象可以方便的分发邮件信息而有的可能帮你把信息写入到数据库中.在你的应用程序中,你可能创建一个对象用于管理你的产品库存,或者另外一个对象 ...

  6. <转>jmeter(五)JDBC Request

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...

  7. 搭建ELK日志分析(亲测无毒!)截图没有附上。。凑合看。搭建出来没有问题

    ( 1 )安装 Logstash 依赖包 JDK Logstash 的运行依赖于 Java 运行环境, Logstash 1.5 以上版本不低于 java 7 推荐使用最新版本的 Java .由于我们 ...

  8. Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.jboss.netty.util.internal.ByteBufferUtil]. The following stack

    Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been ...

  9. kivy __init__() got an unexpected keyword argument '__no_builder' Kivy

    from kivy.lang.builder import Builder from kivy.app import App, runTouchApp from kivy.uix.boxlayout ...

  10. sqlalchemy多对多查询

    # coding:utf-8 from sqlalchemy import create_engine, Column, String, Integer, ForeignKey, Table from ...