Coder Social home page Coder Social logo

fishstormx / fishmaple Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 1.0 5.11 MB

个人网站 https://www.fishmaple.cn

Home Page: https://www.fishmaple.cn

License: MIT License

Java 13.20% CSS 5.33% JavaScript 65.45% HTML 14.15% TSQL 1.87%
java blog interesting vue spring-boot nlp thymeleaf scanner site-search mybatis

fishmaple's Introduction

fishmaple

License

个人网站 https://www.fishmaple.cn io:https://fishstormx.github.io/fishmaple/ 本站点技术栈:Spring SpringBoot Mybatis Shiro前端使用Vue+Element UI

  • 博客:支持个人博客的编辑,博客保存时可以自动生成二级三级标题的锚点,在阅览博客的时候会根据滚动位置切换标题,博客可以高亮渲染代码内容,同时也会标注出词典中的词汇,可以使用//TODO来标记一篇有待继续编辑的博文,可以使用tag进行博客的分类筛选
  • 工具箱:可以上传一些工具性质的因应用文件,每个分类最多上传三个文件,采用文件流传输下载
  • 实验室:平时一些练习的东西和项目都会放在里面,包括有趣的爬虫、实用的小工具等等,具体的细节暂时不在这里展开来说
  • 用户系统:网站有一个最基本的用户系统,用户登录会话时长被设定为12小时,用户的密码采用基于SHA1的变式加密,针对每一套用户密码迭代加密次数和算法都不相同,-保证了安全。是一个单向加密的过程,即不可逆,因此密码无法找回,也无法被任何人解码出来
  • 站内搜索:此处使用了百度NLP开放平台的语义分析,通过较为复杂的算法实现全站全文搜索,可以挑选模糊匹配的级别,由于为了准确性没有采用索引的方式搜索,性能较低,但是用在站内搜索这点数据量够用了。
  • Dwiki:用户自拟词典,采用标签云展示词条,在博客中会渲染对应的词汇,用title值(鼠标停留)来展现,词典词条附加了词汇联想(用的百度的爬虫)
  • 日志查看:查看项目当前在服务器的运行log,为了更好地可读性要做样式处理,所以设定了每5分钟处理一次,即每5分钟更新一次日志

我为什么不使用前后分离的架构

  • 当时才刚刚接触到前端项目工程化,对此不是特别熟悉,当然这不是主要原因
  • 网站想要被搜索引擎收录获得相对靠前的排名。搜索引擎目前的爬虫都是普通的源代码,读不到异步加载的内容,前后分离的异步数据渲染会影响到网站的排名,去除了数据,搜索引擎会认为这是个很糟糕的页面,所以一些重要的页面同时用到了Thymeleaf模板引擎加载数据(只是给搜索引擎的爬虫看的,实际的网站内容仍旧依赖异步加载)

关于修改为博客系统

想要把个人博客改为一个博客系统,需要注意的点:

  • 整体重构,结构简单,取缔不需要的模块如工具箱实验室
  • 编辑器可调整为富文本+markdown兼有的方式
  • SEO友好型,tag,前后一体使用模板引擎注入数据,同时渲染爬虫友好数据和展示数据,但前端依旧保持使用vue+ElementUI,并且加入网站地图生成和Rss订阅
  • 独特的锚点跟随和词典渲染需要进一步优化
  • 站内搜索为求高效尝试改为Elasticsearch
  • 因为是博客系统,所以要尽量改元素为可配置的,例如欢迎词、封面、友链
  • 用户系统可以更加简单,个人博客系统不需要很复杂的用户系统
  • 使用前端锚点监测访问事件,出用百度统计的教程亦可
  • 前端界面的一些优化和交互在此不予详述

fishmaple's People

Contributors

agostinozc avatar fishstormx avatar nnn5130 avatar qf0302yty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

bossding

fishmaple's Issues

日志重复

INFO级别的日志出现了多次重复内容

配置项整合

为便于开发,将秘钥一类的配置项整合到yml文件中

词典渲染异常

博客博文词典渲染异常
原因:词条value包含其他词条的key
解决:渲染过程改为后台处理

分组

加一个合集 把同类文章归类 区别于标签,合集都是一个主题的东西

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.