GithubHelp home page GithubHelp logo

otale / tale Goto Github PK

View Code? Open in Web Editor NEW
4.9K 208.0 1.5K 27.13 MB

🦄 Best beautiful java blog, worth a try

Home Page: https://tale.biezhi.me

License: MIT License

Java 29.52% JavaScript 70.18% Shell 0.30%
blade tale blog java-blog java8 sqlite3

tale's Introduction

Tale Blog

Tale

Tale's English meaning for the Story, I believe that every person who insists on writing a blog is a story; Chinese you call it Collapse does not matter.

Tale uses a lightweight mvc framework Blade for development, the default theme using a beautiful pinghsu, if you think this project is good, please support it star.

demo website:https://tale.biezhi.me

Build Status License @biezhi on zhihu Gitter

QuickStart  |  Contribution  |  Donate  |  Video  |  中文

Here is a throughput graph of the repository for the last few weeks:

Throughput Graph

Feature

  • Simple design, beautiful interface
  • Markdown article published
  • Custom article links
  • Support multiple themes
  • Support plugin extension
  • Support Emoji
  • Support Netease cloud music player
  • Support for attachments and database backups
  • Deployment is simple, do not rely on Tomcat
  • No database, sqlite embedded

Interface Preview

tale1.png tale_022.png tale_03.png tale_04.png tale_05.png tale_06.png tale_07.png tale_08.png

OpenSource Agreement

MIT

Thanks

tale's People

Contributors

0xchen avatar dongm2ez avatar drakeet avatar hellokaton avatar intersimone999 avatar jackeylou avatar kingofctrl avatar lay-g avatar lx0758 avatar nonacosa avatar pengyyn avatar trytrytryiii avatar tuzhao avatar vileneera avatar wayn111 avatar xgfan avatar yifei0727 avatar zaoangod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tale's Issues

主题扩展函数优化

  1. 封装不必要的变量传输,使用模板内置上下文访问
  2. 提供完整的主题扩展函数文档

文案优化

将所有文案内中英文添加空格间隔。如“开始使用Tale写博客吧”,改为“开始使用 Tale 写博客吧”。

Tale 新主题收集

有部分同学已经有了使用其他主题的意愿,为了 Tale 更好的发展和主题完善,希望大家在这里留言一个你喜欢或者觉得比较库的主题,我们选择部分颜值高的进行开发,如果你也愿意参与主题开发非常乐意

maven 打包好像有点问题

  • 使用 maven package 构建的不包含依赖包
  • 使用 mvn clean package assembly:single -Dmaven.test.skip=true 构建的需要去 target\dist 下启动,且静态资源无法加载.

支持评论插件

现在有不少网站都是使用第三方的外挂插, 希望可以做成插件形式的。
一般第三方插件是在代码中插入JS代码

支持插件扩展机制

开发者可以自行定义一个项目,只要遵守 Tale 插件发布规范,开发完成打个jar包放在 plugins 目录即可使用。

管理页面 sidebar-menu BUG

重现步骤:
点击文章管理->点击分页页数->页面reload->左侧sidebar-menu ‘文章管理' >li 节点 [class='active']消失,分不清当前功能。

<li #if(active=='article') class="active" #end>
                        <a href="/admin/article" class="waves-effect"><i class="md md-list"></i><span> 文章管理 </span></a>
                    </li>

//分析只认 'article' 不认 'article?page=...' 
//不熟悉模板引擎

tale 初始化绑定了ip地址?

只能使用127.0.0.1请求到install,
但是我安装到 centos上的,无法得到页面。如何做。?
我没看到,端口与ip绑定的配置在哪里。

优化准则

  1. 快(通过缓存,程序优化,CDN等方式)
  2. 小(尽可能减少源码大小,降低资源占用)
  3. 美(优化主题,添加更多主题支持)
  4. 全(完善功能,不添加一丝冗余)

启动报错

image

我手动创建了数据库,但启动的时候,提示某个表不存在,你能否b把数据表E-R关系给我,谢谢。

win10下开发报找不到路径的错误

系统环境

win10

IDE

IDEA 2016.3.4

错误详情

log4j:WARN No appenders could be found for logger (com.blade.kit.base.Config).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.lang.NullPointerException
	at java.util.Properties$LineReader.readLine(Properties.java:434)
	at java.util.Properties.load0(Properties.java:353)
	at java.util.Properties.load(Properties.java:341)
	at com.tale.init.TaleJdbc.<clinit>(TaleJdbc.java:54)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.blade.kit.resource.AbstractClassReader.findClassByPackage(AbstractClassReader.java:88)
	at com.blade.kit.resource.AbstractClassReader.getClassByAnnotation(AbstractClassReader.java:156)
	at com.blade.kit.resource.AbstractClassReader.getClass(AbstractClassReader.java:46)
	at com.blade.ioc.IocApplication.lambda$initBeans$1(IocApplication.java:82)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at com.blade.ioc.IocApplication.initBeans(IocApplication.java:81)
	at com.blade.mvc.context.BladeInitListener.contextInitialized(BladeInitListener.java:81)
	at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:865)
	at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532)
	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:828)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1480)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1442)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:788)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:540)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
	at org.eclipse.jetty.server.Server.start(Server.java:452)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	at org.eclipse.jetty.server.Server.doStart(Server.java:419)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at com.blade.embedd.EmbedJettyServer.startup(EmbedJettyServer.java:157)
	at com.blade.embedd.EmbedJettyServer.startup(EmbedJettyServer.java:72)
	at com.blade.Blade.startNoJoin(Blade.java:498)
	at com.blade.Blade.start(Blade.java:471)
	at com.blade.Blade.start(Blade.java:477)
	at com.tale.Application.main(Application.java:8)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

错误详情图片

qq 20170228101748

初步判断

在编译的时候没有把配置文件编译进去,导致

Properties props = new Properties();
        try {
            props.load(in);

在载入配置文件时报nullpointer的错误

能一起参与开发吗

毕业一年多的java后端码农,立志成为全能全栈工程师。之前实习时曾在前端部门进行前端的学习和锻炼,较熟练的使用jquery等框架。后觉得前端变化多端,还是从大学学的比较多的java入手,就成为了java工程师,之前曾自己学习vuejs等前端框架。虽进入github多日,但无建树,看到这个项目想尝试下:)

云主机部署好像有问题

down下release的zip部署到阿里云和conoha上,运行jar包后不能正确打开。访问网址chrome显示连接被拒绝。在本地部署没问题。比对了一下本地,启动过程应该没报错。
配置
阿里云:
oracle jdk 1.8 (121)
ubuntu 16.04 x64
mysql 5.7

conoha(Japan)
openjdk 1.8(121)
centos x64
mysql 5.7

本地:
win10 x64
oracle jdk 1.8(121)
mysql 5.6

伪静态配置

目前 Tale 的文章后缀为 http://xxx.com/article/123

有些用户可能喜欢 http://xxx.com/article/123.html 或者其他类型,可以通过设置进行修改

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.