解决方案:「开源」类似百度文库,使用Beego(Golang)开发的开源文库系统
优采云 发布时间: 2022-11-17 13:39解决方案:「开源」类似百度文库,使用Beego(Golang)开发的开源文库系统
一、开源项目介绍
参考百度文库,使用Beego(Golang)开发的开源文库系统。
2.功能概览文档在线阅读
DocHub库通过svg矢量图形实现文档阅读体验。在我知道的图书馆网站中,新浪爱文通过png等图片提供文档阅读体验。
与png、jpeg等图像格式相比,SVG有很大的优势。至少在放大的时候不会变形。 svg相对于JPEG和GIF图片,体积更小,压缩性更好。DocHub 通过 gzip 压缩 svg 文件。在正常情况下,它可以将文件大小减少 70%。例如,一个 200kb 的 svg 在 gzip 压缩后只有大约 60kb。
使用svg大大提高了加载速度,优化了内容的阅读体验。
办公文档在线阅读
这需要两个转换:
office --> pdf --> svg
考虑过office文档不用转换就可以直接在线浏览,但是解决方案比较复杂,部署也不容易,至少我没有部署成功。。。
在线阅读PDF文档
通过pdf2svg转换PDF文档并提供在线阅读
我没有使用mozila的pdf.js作为PDF文档阅读的实现方案。主要是我没有解决pdf.js碎片化和分页加载的问题。每次我都需要下载整个PDF文件来提供阅读。如果文档很大,用户需要等待很长时间,同时也会消耗服务器带宽资源。
在线阅读mobi、epub、chm文档
使用 calibre 将文档转换为 PDF,然后将 pdf 转换为 svg。
目前暂未实现该功能,epub、mobi等文档仍暂时无法在线阅读
研究所有
全文搜索功能之前是用coreseek开发实现的,现在coreseek官网已经挂了。。。打算用elasticsearch重新实现这个功能。
文档 采集 特性 [TODO]
在建站初期,网站内容的填写是一个很大的难点。
不过GitBook、ReadTheDoc等站点上有很多开源技术文档,提供mobi、pdf、epub离线文档下载。
据初步统计,GitBook 有超过 10 万个文档,估计有 5 万个可用文档,每个文档提供 3 种格式的下载。仅仅从 gitbook采集 文档做一个库,就有 150,000 很多文档。
然后,借助搜索引擎,搜索filetype:document format+搜索关键字,比如filetype:pdf入门教程,你会发现惊喜!不信你试试分配以下两个链接地址在浏览器中打开:
https://cn.bing.com/search?q=filetype%3apdf+%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B&first=11
https://www.sogou.com/web?query=filetype%3Apdf+%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B
如果你爬取其他文档,一年之内,自己搭建一个拥有数百万文档的图书馆站点应该不成问题。
但是,现在已经建立了综合性的图书馆站点,例如百度图书馆。如果打算建一个综合性的图书馆站点,还是不现实,因为空间太小了。
但是可以建一个专注于某个方向的库站,比如课后习题答案库站、IT行业库站、教育库站等,如果专注于一个行业领域,还是有的很大的增长空间。就像图片网站一样,现在很多搜索引擎都可以搜索图片,但是Pinterest、花瓣网等还没开始做吗?
为你提供了方案,也为你提供了思路。
积分功能
用户签到、上传、分享文档,获得积分奖励;用户下载文件,需要消耗积分
阅读文档水印功能
在提供阅读的svg文件上添加水印
3.技术选型后台
Go语言框架Beego
前端
Flat-UI,一个基于Bootstrap的前端框架
数据库
MySQL,数据存储
依赖环境 Libreoffice(或 Openoffice)
用于将办公文档转换为PDF
使用命令:
soffice --headless --invisible --convert-to pdf path/to/officefile --outdir path/to/outdir
pdf2svg
请注意,这使用最新版本的 pdf2svg
pdf2svg,用于将PDF转换成svg矢量图供阅读。
使用命令:
pdf2svg []
口径
用于将mobi、chm、epub等文档转成PDF,再将pdf转成svg
注:目前mobi、epub等文档的在线阅读功能尚未实现
阿里云OSS
存放office文档、PDF文档、svg文件
注:目前只支持阿里云的OSS云存储,暂时不支持其他云存储(以后有时间开发扩展其他云存储),不支持本地化存储(现在有云存储和CDN)价格比以前便宜很多)
4.界面展示页面列表
没有不靠脸的时代……
5.开源协议
使用Apache2.0开源协议
6.源地址
解决方案:如何做好百度关键词优化?
如何做好百度关键词优化?
1. 没有关键词分析
您是否存在以下情况:方向不明确、关键词配置不合理、排名效果差、资金投入大、回报率低等;这些都是不分析关键词造成的问题,问题直接致命,所以关键词建站初期的分析选择很重要。关键词不要选择太多,太多会导致主题不突出。
2.经常更换网页标题TITLE
TITLE 标题是搜索引擎匹配关键词的核心点。搜索引擎依靠标题标签进行分词和分词建立索引。这是最原创阶段搜索引擎排名的核心点,虽然搜索引擎在技术上已经有了飞速的发展,但对TITLE标题的依赖仍然是提升用户体验的关键点。频繁更改TITLE会被搜索引擎视为作弊,所以更改标题时要小心!建议:建站初期慎重考虑。一旦确定了TITLE标题,除非修改网站,否则不要乱来。
3. 网站没有真正的内容,很多采集文章
网络上高度重复的文章,搜索引擎不会给出好的排名,甚至会把网站列入垃圾堆的行列。也有相当大的负面影响。网站建设完成后,采集大量文章,没有自己的内容,给用户带来不好的浏览体验,给搜索引擎留下不好的印象,也给SEO带来很大的风险。建议:原创 或身高 伪原创,为什么重要?
4. 网站制作中对美的追求
企业领导一味追求网站审美,大气、好看、漂亮。个人认为,这些都是企业管理者庸俗的表现。简洁明了的页面能给用户带来良好的视觉体验。大量的图片和过多的闪动导致页面体积过大,页面加载速度慢,大大降低了网站的实用性。导航使用图片作为链接,搜索引擎很难识别。网站的结构不是很清楚,如果一定要用这些,还要考虑怎么用。
5. 网站 中的所有页面都具有相同的标题
网页的标题就像我们的名字一样。每个人都有不同的名字,网站 也是。谷歌在这一点上已经明确表示,应该对每个独立的页面应用不同的标题、描述等。TITLE相当于网页的名称,KEYWORDS相对来说是网页的“特色”,description是对网页的描述。网站 优化通过降低页面的相似性帮助搜索引擎区分任意两个页面网站。
6. JS 和我
在互联网的发展过程中,我和JS大多是作为在线广告存在的,大部分广告都是通过JS和我来管理的。虽然现在的WEB技术可以让广告作为网页内容的补充,但是过多的广告也会造成干扰给浏览网页内容的用户。搜索引擎还是不“考虑”JS和我里面的内容,把有用的信息放到JS里就成了无用的信息,大量的JS和我会被认为是页面投放了太多的广告。
7. 多个 网站 用于交叉链接 (站群)
网站比首页权重最高,也是关键词最容易上榜的。大部分站长把很多热门的关键词放在网站首页,因为首页位置有限,远远不能满足很多关键词的需求,很多站长创建了很多子站点把一些流行的关键词分开,这是一种干扰搜索引擎排名的行为,搜索引擎也对这种行为采取了一定的措施,比如:延长新站点的排名时间,对新的网站进行沙盒处理(谷歌称之为sandbox,百度称之为考核期),通过信息采集分析,站群网站会受到一定程度的惩罚。站群(空压机网站等多个网站交联),能不能做到,当然,只要掌握好度,用好对排名会有很大的帮助。就像我们交换友情链接一样。
8.网站里面有很多死链接
网站内部管理经常删除一些栏目,文章等,删除的页面会产生大量的死链接。死链接对搜索引擎和用户体验都是非常不友好的,那么如何处理这些链接呢?网站一定要设置好404错误页面,同时在robots做特殊处理。我们建议尽可能保留该页面并在原创页面上更改内容。
9.缺少进出口链接
SEO人接手了很多网站的优化工作,大部分网站都有收录的问题,查了一下发现很多网站在关闭后出站门(这个不用解释吧)现象,没有合理的进出口环节。在互联网中,网页之间的关系是通过链接建立起来的。如果网站与外界没有联系,它将成为一个孤岛网站,搜索引擎无法知道网站的存在。
10. 复制网站
一些企业为了节省建设网站的资金和人力,直接使用已有的网站程序模板,而没有考虑网站框架的重要性。这样就会出现两个相似度非常高的网站。这样的新站很难获得好的排名,老站也会受到影响。推荐阅读:如何打造网站 最后要牢记的一点,学习SEO的重要理论要点,SEO人文优化的九大必备素质和精神。谢谢你,我是天阳。宝贵意见,您的宝贵意见是SEO人成长的根本。