├── .gitignore ├── blog └── src │ ├── main │ ├── resources │ │ ├── static │ │ │ ├── plugins │ │ │ │ ├── note.txt │ │ │ │ └── font-awesome │ │ │ │ │ └── 4.7.0 │ │ │ │ │ ├── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ │ ├── less │ │ │ │ │ ├── fixed-width.less │ │ │ │ │ ├── screen-reader.less │ │ │ │ │ ├── larger.less │ │ │ │ │ ├── list.less │ │ │ │ │ ├── core.less │ │ │ │ │ ├── stacked.less │ │ │ │ │ ├── font-awesome.less │ │ │ │ │ ├── bordered-pulled.less │ │ │ │ │ ├── rotated-flipped.less │ │ │ │ │ ├── path.less │ │ │ │ │ ├── animated.less │ │ │ │ │ └── mixins.less │ │ │ │ │ ├── scss │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _larger.scss │ │ │ │ │ ├── _list.scss │ │ │ │ │ ├── _core.scss │ │ │ │ │ ├── font-awesome.scss │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ ├── _path.scss │ │ │ │ │ ├── _animated.scss │ │ │ │ │ └── _mixins.scss │ │ │ │ │ └── HELP-US-OUT.txt │ │ │ ├── static │ │ │ │ └── api │ │ │ │ │ ├── js │ │ │ │ │ ├── trans │ │ │ │ │ │ ├── data.js │ │ │ │ │ │ ├── logger.js │ │ │ │ │ │ ├── trans_bdxc.js │ │ │ │ │ │ └── trans_bdysc.js │ │ │ │ │ ├── share │ │ │ │ │ │ ├── likeshare.js │ │ │ │ │ │ ├── combine_api.js │ │ │ │ │ │ ├── select_api.js │ │ │ │ │ │ ├── image_api.js │ │ │ │ │ │ ├── slide_api.js │ │ │ │ │ │ ├── share_api.js │ │ │ │ │ │ ├── like_api.js │ │ │ │ │ │ └── api_base.js │ │ │ │ │ ├── conf │ │ │ │ │ │ ├── define.js │ │ │ │ │ │ └── const.js │ │ │ │ │ ├── component │ │ │ │ │ │ ├── comm_tools.js │ │ │ │ │ │ ├── anticheat.js │ │ │ │ │ │ ├── pop_base.js │ │ │ │ │ │ ├── pop_popup_slide.js │ │ │ │ │ │ ├── pop_dialog.js │ │ │ │ │ │ ├── pop_popup.js │ │ │ │ │ │ └── partners.js │ │ │ │ │ ├── base │ │ │ │ │ │ └── class.js │ │ │ │ │ ├── view │ │ │ │ │ │ ├── share_view.js │ │ │ │ │ │ └── view_base.js │ │ │ │ │ └── start │ │ │ │ │ │ └── router.js │ │ │ │ │ ├── img │ │ │ │ │ └── share │ │ │ │ │ │ ├── l0.gif │ │ │ │ │ │ ├── l1.gif │ │ │ │ │ │ ├── l2.gif │ │ │ │ │ │ ├── l3.gif │ │ │ │ │ │ ├── l4.gif │ │ │ │ │ │ ├── l5.gif │ │ │ │ │ │ ├── l6.gif │ │ │ │ │ │ ├── l7.gif │ │ │ │ │ │ ├── l8.gif │ │ │ │ │ │ ├── r0.gif │ │ │ │ │ │ ├── r1.gif │ │ │ │ │ │ ├── r2.gif │ │ │ │ │ │ ├── r3.gif │ │ │ │ │ │ ├── r4.gif │ │ │ │ │ │ ├── r5.gif │ │ │ │ │ │ ├── r6.gif │ │ │ │ │ │ ├── r7.gif │ │ │ │ │ │ ├── r8.gif │ │ │ │ │ │ ├── sc.png │ │ │ │ │ │ ├── pop_c.gif │ │ │ │ │ │ ├── icons_0_16.png │ │ │ │ │ │ ├── icons_0_24.png │ │ │ │ │ │ ├── icons_0_32.png │ │ │ │ │ │ ├── icons_1_16.png │ │ │ │ │ │ ├── icons_1_24.png │ │ │ │ │ │ ├── icons_1_32.png │ │ │ │ │ │ ├── icons_2_16.png │ │ │ │ │ │ ├── icons_2_24.png │ │ │ │ │ │ ├── icons_2_32.png │ │ │ │ │ │ ├── selectshare_close.png │ │ │ │ │ │ └── share-search-icon.png │ │ │ │ │ └── css │ │ │ │ │ └── weixin_popup.css │ │ │ ├── stylesheets │ │ │ │ ├── colors │ │ │ │ │ └── color1.css │ │ │ │ ├── fonts │ │ │ │ │ ├── flexslider-icon.ttf │ │ │ │ │ └── flexslider-icon.woff │ │ │ │ ├── font-MyriadPro.css │ │ │ │ ├── blog.css │ │ │ │ └── news.css │ │ │ ├── revolution │ │ │ │ └── fonts │ │ │ │ │ └── revicons │ │ │ │ │ ├── index.php │ │ │ │ │ ├── revicons.eot │ │ │ │ │ ├── revicons.ttf │ │ │ │ │ └── revicons.woff │ │ │ ├── 8d023e3165df55e3175cffcc2d63059e.txt │ │ │ ├── google85d7c3e364739cea.html │ │ │ ├── images │ │ │ │ ├── code.jpg │ │ │ │ ├── logo.png │ │ │ │ └── mp │ │ │ │ │ ├── caoz.jpg │ │ │ │ │ ├── jnby.jpg │ │ │ │ │ ├── TTTink-D.jpg │ │ │ │ │ ├── Ymeigong.jpg │ │ │ │ │ ├── ai-front.jpg │ │ │ │ │ ├── archtime.jpg │ │ │ │ │ ├── AngelaTalk.jpg │ │ │ │ │ ├── DevOpsGeek.jpg │ │ │ │ │ ├── dujinyong6.jpg │ │ │ │ │ ├── frontshow.jpg │ │ │ │ │ ├── NetEase_UEDC.jpg │ │ │ │ │ ├── zcool-com-cn.jpg │ │ │ │ │ └── yongyanyoudianxian.jpg │ │ │ ├── fonts │ │ │ │ ├── icomoon.eot │ │ │ │ ├── icomoon.ttf │ │ │ │ ├── Helvetica.otf │ │ │ │ ├── icomoon.woff │ │ │ │ ├── ElegantIcons.eot │ │ │ │ ├── ElegantIcons.ttf │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── ElegantIcons.woff │ │ │ │ ├── MyriadPro-Regular.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── javascript │ │ │ │ ├── jquery.cookie.js │ │ │ │ └── slider.js │ │ │ └── website │ │ │ │ ├── upload.js │ │ │ │ └── pdf_split.js │ │ ├── banner.txt │ │ ├── application-dev.properties │ │ ├── application-prod.properties │ │ ├── application.properties │ │ ├── templates │ │ │ ├── common │ │ │ │ ├── common_js.html │ │ │ │ └── footer.html │ │ │ └── 404.html │ │ ├── application-test.properties │ │ └── logback.xml │ └── java │ │ └── cn │ │ └── enilu │ │ └── website │ │ └── blog │ │ ├── dao │ │ ├── NewsTagRelRepository.java │ │ ├── CollectorRepository.java │ │ ├── TagRepository.java │ │ └── NewsRepository.java │ │ ├── entity │ │ ├── Tag.java │ │ ├── NewsTagRel.java │ │ ├── HtmlBean.java │ │ ├── Collector.java │ │ ├── BaseEntity.java │ │ └── News.java │ │ ├── service │ │ ├── ConfigService.java │ │ └── TagService.java │ │ ├── listener │ │ └── CacheListener.java │ │ ├── config │ │ └── DataSourceConfiguration.java │ │ ├── controller │ │ └── TagController.java │ │ ├── cache │ │ └── CollectCache.java │ │ ├── interceptor │ │ └── WebInterceptor.java │ │ ├── BlogApplication.java │ │ ├── collect │ │ └── AbstractCollect.java │ │ ├── schedule │ │ └── ScheduledCollect.java │ │ └── ApplicationInitializer.java │ └── test │ ├── java │ ├── cn │ │ └── enilu │ │ │ └── website │ │ │ ├── blog │ │ │ ├── Test.java │ │ │ ├── collect │ │ │ │ ├── SoucheCollectTest.java │ │ │ │ ├── TencentUedCollectTest.java │ │ │ │ ├── Team75CollectTest.java │ │ │ │ ├── YunfengCollectTest.java │ │ │ │ ├── MeituanCollectTest.java │ │ │ │ ├── BaiduUedCollectTest.java │ │ │ │ ├── AlibabaUedCollectTest.java │ │ │ │ ├── TencentIsuxCollectTest.java │ │ │ │ ├── HuziCollectTest.java │ │ │ │ └── RuanyifengCollectTest.java │ │ │ ├── service │ │ │ │ ├── TagServiceTest.java │ │ │ │ └── NewsServiceTest.java │ │ │ └── dao │ │ │ │ └── CollectorRepositoryTest.java │ │ │ ├── AppConfiguration.java │ │ │ └── BaseApplicationStartTest.java │ └── AnsjTest.java │ └── resoruces │ └── application-test.properties ├── merge-pdf-online └── src │ ├── main │ ├── resources │ │ ├── static │ │ │ ├── plugins │ │ │ │ ├── note.txt │ │ │ │ ├── bootstrap-fileinput │ │ │ │ │ ├── note.txt │ │ │ │ │ └── 4.4.8 │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── img │ │ │ │ │ │ ├── loading.gif │ │ │ │ │ │ └── loading-sm.gif │ │ │ │ │ │ ├── composer.json │ │ │ │ │ │ ├── nuget │ │ │ │ │ │ ├── Package.nuspec │ │ │ │ │ │ └── build.bat │ │ │ │ │ │ ├── bower.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ │ ├── themes │ │ │ │ │ │ ├── fa │ │ │ │ │ │ │ └── theme.min.js │ │ │ │ │ │ ├── fas │ │ │ │ │ │ │ └── theme.min.js │ │ │ │ │ │ ├── gly │ │ │ │ │ │ │ └── theme.min.js │ │ │ │ │ │ └── explorer │ │ │ │ │ │ │ └── theme.min.js │ │ │ │ │ │ └── css │ │ │ │ │ │ └── fileinput-rtl.min.css │ │ │ │ └── font-awesome │ │ │ │ │ └── 4.7.0 │ │ │ │ │ ├── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ │ ├── less │ │ │ │ │ ├── screen-reader.less │ │ │ │ │ ├── fixed-width.less │ │ │ │ │ ├── larger.less │ │ │ │ │ ├── list.less │ │ │ │ │ ├── core.less │ │ │ │ │ ├── stacked.less │ │ │ │ │ ├── font-awesome.less │ │ │ │ │ ├── bordered-pulled.less │ │ │ │ │ ├── rotated-flipped.less │ │ │ │ │ ├── path.less │ │ │ │ │ ├── animated.less │ │ │ │ │ └── mixins.less │ │ │ │ │ ├── scss │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _larger.scss │ │ │ │ │ ├── _list.scss │ │ │ │ │ ├── _core.scss │ │ │ │ │ ├── font-awesome.scss │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ ├── _path.scss │ │ │ │ │ ├── _animated.scss │ │ │ │ │ └── _mixins.scss │ │ │ │ │ └── HELP-US-OUT.txt │ │ │ ├── stylesheets │ │ │ │ ├── colors │ │ │ │ │ └── color1.css │ │ │ │ ├── fonts │ │ │ │ │ ├── flexslider-icon.ttf │ │ │ │ │ └── flexslider-icon.woff │ │ │ │ ├── font-MyriadPro.css │ │ │ │ └── news.css │ │ │ ├── revolution │ │ │ │ └── fonts │ │ │ │ │ └── revicons │ │ │ │ │ ├── index.php │ │ │ │ │ ├── revicons.eot │ │ │ │ │ ├── revicons.ttf │ │ │ │ │ └── revicons.woff │ │ │ ├── baidu_verify_1fji5whx7l.html │ │ │ ├── google85d7c3e364739cea.html │ │ │ ├── images │ │ │ │ ├── 001.png │ │ │ │ ├── code.jpg │ │ │ │ ├── logo.png │ │ │ │ ├── donate.jpg │ │ │ │ ├── mpAccount.jpg │ │ │ │ └── zanshang.jpg │ │ │ ├── fonts │ │ │ │ ├── icomoon.eot │ │ │ │ ├── icomoon.ttf │ │ │ │ ├── icomoon.woff │ │ │ │ ├── Helvetica.otf │ │ │ │ ├── ElegantIcons.eot │ │ │ │ ├── ElegantIcons.ttf │ │ │ │ ├── ElegantIcons.woff │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── MyriadPro-Regular.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── sitemap.xml │ │ │ ├── javascript │ │ │ │ ├── jquery.cookie.js │ │ │ │ └── slider.js │ │ │ └── website │ │ │ │ ├── upload.js │ │ │ │ └── pdf_split.js │ │ ├── application-dev.properties │ │ ├── application-prod.properties │ │ ├── i18n │ │ │ ├── messages.properties │ │ │ ├── messages_zh_CN.properties │ │ │ └── messages_en_US.properties │ │ ├── banner.txt │ │ ├── application.properties │ │ └── templates │ │ │ ├── mail │ │ │ ├── contact.html │ │ │ └── free_form.html │ │ │ ├── pdf_split_download.html │ │ │ └── common │ │ │ ├── menu.html │ │ │ ├── common_js.html │ │ │ └── head.html │ └── java │ │ └── cn │ │ └── enilu │ │ └── website │ │ └── mergepdf │ │ ├── controller │ │ ├── IndexController.java │ │ └── FileController.java │ │ ├── entity │ │ └── Admin.java │ │ ├── WebsiteBootApplication.java │ │ ├── interceptor │ │ └── LanguageInterceptor.java │ │ └── config │ │ └── InitialConfig.java │ └── test │ └── java │ └── cn │ └── enilu │ └── website │ └── mergepdf │ ├── Test.java │ └── BaseApplicationStartTest.java ├── README.md ├── bean ├── src │ └── main │ │ └── java │ │ └── cn │ │ └── enilu │ │ └── website │ │ └── bean │ │ ├── enumeration │ │ ├── ServiceExceptionEnum.java │ │ ├── WebException.java │ │ └── WebExceptionEnum.java │ │ ├── Rets.java │ │ └── Ret.java └── pom.xml └── utils └── pom.xml /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | target/ 3 | .idea/ -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/note.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/trans/data.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/trans/logger.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/stylesheets/colors/color1.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/note.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/revolution/fonts/revicons/index.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/likeshare.js: -------------------------------------------------------------------------------- 1 | ; -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/stylesheets/colors/color1.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/revolution/fonts/revicons/index.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/baidu_verify_1fji5whx7l.html: -------------------------------------------------------------------------------- 1 | 1fji5whx7l -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/note.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/8d023e3165df55e3175cffcc2d63059e.txt: -------------------------------------------------------------------------------- 1 | 8d023e3165df55e3175cffcc2d63059e -------------------------------------------------------------------------------- /blog/src/main/resources/static/google85d7c3e364739cea.html: -------------------------------------------------------------------------------- 1 | google-site-verification: google85d7c3e364739cea.html -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- 1 | website.upload.dir=E:\\data\\website\\ 2 | 3 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/application-prod.properties: -------------------------------------------------------------------------------- 1 | website.upload.dir=/data/app/runtime/website/upload/ -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/google85d7c3e364739cea.html: -------------------------------------------------------------------------------- 1 | google-site-verification: google85d7c3e364739cea.html -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/code.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/code.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/logo.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/icomoon.eot -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/icomoon.ttf -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/Helvetica.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/Helvetica.otf -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/icomoon.woff -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/caoz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/caoz.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/jnby.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/jnby.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/ElegantIcons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/ElegantIcons.eot -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/ElegantIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/ElegantIcons.ttf -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/TTTink-D.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/TTTink-D.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/Ymeigong.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/Ymeigong.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/ai-front.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/ai-front.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/archtime.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/archtime.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/ElegantIcons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/ElegantIcons.woff -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/AngelaTalk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/AngelaTalk.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/DevOpsGeek.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/DevOpsGeek.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/dujinyong6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/dujinyong6.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/frontshow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/frontshow.jpg -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/.gitignore: -------------------------------------------------------------------------------- 1 | nuget/content/ 2 | nuget/bootstrap-fileinput.*.nupkg 3 | .DS_Store 4 | .idea -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/MyriadPro-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/MyriadPro-Regular.otf -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/NetEase_UEDC.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/NetEase_UEDC.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/zcool-com-cn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/zcool-com-cn.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l0.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l1.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l2.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l3.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l4.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l5.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l6.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l7.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/l8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/l8.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r0.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r1.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r2.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r3.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r4.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r5.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r6.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r7.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/r8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/r8.gif -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/sc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/sc.png -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/images/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/images/001.png -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/images/code.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/images/code.jpg -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/images/logo.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/pop_c.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/pop_c.gif -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/i18n/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/i18n/messages.properties -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/icomoon.eot -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/icomoon.ttf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/icomoon.woff -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/images/donate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/images/donate.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /blog/src/main/resources/static/images/mp/yongyanyoudianxian.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/images/mp/yongyanyoudianxian.jpg -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/Helvetica.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/Helvetica.otf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/images/mpAccount.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/images/mpAccount.jpg -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/images/zanshang.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/images/zanshang.jpg -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_0_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_0_16.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_0_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_0_24.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_0_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_0_32.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_1_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_1_16.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_1_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_1_24.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_1_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_1_32.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_2_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_2_16.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_2_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_2_24.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/icons_2_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/icons_2_32.png -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/ElegantIcons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/ElegantIcons.eot -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/ElegantIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/ElegantIcons.ttf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/ElegantIcons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/ElegantIcons.woff -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /blog/src/main/resources/static/stylesheets/fonts/flexslider-icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/stylesheets/fonts/flexslider-icon.ttf -------------------------------------------------------------------------------- /blog/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | ____ _ ____ _____ 3 | / _ \/ \ / _ \/ __/ 4 | | | //| | | / \|| | _ 5 | | |_\\| |_/\| \_/|| |_// 6 | \____/\____/\____/\____\ 7 | 8 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/revolution/fonts/revicons/revicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/revolution/fonts/revicons/revicons.eot -------------------------------------------------------------------------------- /blog/src/main/resources/static/revolution/fonts/revicons/revicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/revolution/fonts/revicons/revicons.ttf -------------------------------------------------------------------------------- /blog/src/main/resources/static/revolution/fonts/revicons/revicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/revolution/fonts/revicons/revicons.woff -------------------------------------------------------------------------------- /blog/src/main/resources/static/stylesheets/fonts/flexslider-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/stylesheets/fonts/flexslider-icon.woff -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/MyriadPro-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/MyriadPro-Regular.otf -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/selectshare_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/selectshare_close.png -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/img/share/share-search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/static/api/img/share/share-search-icon.png -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/revolution/fonts/revicons/revicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/revolution/fonts/revicons/revicons.eot -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/revolution/fonts/revicons/revicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/revolution/fonts/revicons/revicons.ttf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/stylesheets/fonts/flexslider-icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/stylesheets/fonts/flexslider-icon.ttf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/stylesheets/fonts/flexslider-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/stylesheets/fonts/flexslider-icon.woff -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/revolution/fonts/revicons/revicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/revolution/fonts/revicons/revicons.woff -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/blog/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/img/loading.gif -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/img/loading-sm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/img/loading-sm.gif -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/stylesheets/font-MyriadPro.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "MyriadPro-Regular"; 3 | src:url('../fonts/MyriadPro-Regular.otf') format("truetype"); 4 | font-weight: normal; 5 | font-style: normal; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enilu/website/master/merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/conf/define.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main?window._bd_share_is_recently_loaded=!0:(window._bd_share_is_recently_loaded=!1,window._bd_share_main={version:"2.0",jscfg:{domain:{staticUrl:"http://bdimg.share.baidu.com/"}}}); -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/stylesheets/font-MyriadPro.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "MyriadPro-Regular"; 3 | src:url('../fonts/MyriadPro-Regular.otf') format("truetype"); 4 | font-weight: normal; 5 | font-style: normal; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /blog/src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- 1 | spring.jpa.show-sql=true 2 | spring.jpa.database-platform=com.enigmabridge.hibernate.dialect.SQLiteDialect 3 | spring.jpa.generate-ddl=true 4 | sqlite.url=jdbc:sqlite:d:\\data/website/blog.db 5 | app.img.dir=d:\\data/website/mpimg -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | _ _____ ____ ____ _ _____ _____ 3 | / \ /|/ __// _ \/ ___\/ \/__ __\/ __/ 4 | | | ||| \ | | //| \| | / \ | \ 5 | | |/\||| /_ | |_\\\___ || | | | | /_ 6 | \_/ \|\____\\____/\____/\_/ \_/ \____\ 7 | 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # website 2 | 瞎搞的一些小网站 3 | 4 | ## merge-pdf-online 5 | pdf在线合并网站:https://pdfmerge.enilu.cn 6 | 7 | ## blog 8 | it博客精选:https://itblog.enilu.cn 9 | - 采用sqlite数据库,频繁读写后会急剧变大,解决方法为在sqlite命令行窗口执行:VACUUM 即可 10 | 11 | ## todo 12 | - 小胡子哥的博客 https://www.barretlee.com/blog/archives 13 | -------------------------------------------------------------------------------- /blog/src/main/resources/application-prod.properties: -------------------------------------------------------------------------------- 1 | spring.jpa.show-sql=true 2 | #spring.jpa.hibernate.ddl-auto=update 3 | spring.jpa.database-platform=com.enigmabridge.hibernate.dialect.SQLiteDialect 4 | spring.jpa.generate-ddl=true 5 | sqlite.url=jdbc:sqlite:/data/website/blog.db 6 | 7 | app.img.dir=/data/website/mpimg/ -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.profiles.active=prod 2 | spring.config.name=\u4FE1\u6570\u91D1\u670D 3 | server.port=8084 4 | #spring.thymeleaf.mode = LEGACYHTML5 5 | #模版热部署 6 | spring.thymeleaf.cache=false 7 | spring.thymeleaf.mode=LEGACYHTML5 8 | 9 | spring.messages.basename=i18n/messages 10 | 11 | 12 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/combine_api.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("share/combine_api",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class,s=e("share/api_base");t.CombineApi=i.create(function(e){var t=this,n=null,r=null;t.setApi=function(e,t){n=e,r=t},t._init=function(){n&&r&&n.on("sharecompleted",function(e){})}},s.ApiBase)}); -------------------------------------------------------------------------------- /blog/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.config.name=\u4FE1\u6570\u91D1\u670D 2 | server.port=8081 3 | spring.profiles.active=dev 4 | #模版热部署 5 | spring.thymeleaf.cache=false 6 | spring.thymeleaf.mode=LEGACYHTML5 7 | 8 | #百度自然语言处理api 9 | api.baidu.nlp.app.id=11555761 10 | api.baidu.nlp.app.key=Tt3yACl8Qr9DmuDFaTCGbhGs 11 | api.baidu.nlp.secret.key=ifCMCwpuzAturDEa3v7vxZHuvA2zyHGd 12 | -------------------------------------------------------------------------------- /merge-pdf-online/src/test/java/cn/enilu/website/mergepdf/Test.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.mergepdf; 2 | 3 | import org.thymeleaf.util.DateUtils; 4 | 5 | import java.net.URLDecoder; 6 | import java.net.URLEncoder; 7 | 8 | /** 9 | * Created on 2018/2/12 0012. 10 | * 11 | * @author zt 12 | */ 13 | public class Test { 14 | public static void main(String[] args) { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/Test.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog; 2 | 3 | import cn.enilu.website.utils.Md5Util; 4 | 5 | /** 6 | * Test 7 | * version 2018/7/27 0027 8 | * 9 | * @author enilu 10 | */ 11 | public class Test { 12 | public static void main(String[] args) { 13 | 14 | 15 | System.out.println( Md5Util.getMD5String("结组攀爬天柱岩(附高强小结)")); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/select_api.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("share/select_api",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class,s=e("component/comm_tools"),o=e("share/api_base");t.Api=i.create(function(e){var t=this;t._init=function(){var e=t.getView();e.render(),e.init()},t._processAction=function(e){return{data:{type:"select"}}},t._distory=function(){}},o.ApiBase)}); -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/trans/trans_bdxc.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("trans/trans_bdxc",function(e,t){var n=function(){var e=window,t=document,n="_bdXC",r;e[n]?window._bdXC_loaded&&e[n].reInit():(r=t.createElement("script"),r.setAttribute("charset","utf-8"),r.src="http://xiangce.baidu.com/zt/collect/mark.js?"+(new Date).getTime(),t.getElementsByTagName("head")[0].appendChild(r))};t.run=n}); -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/dao/NewsTagRelRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.dao; 2 | 3 | import cn.enilu.website.blog.entity.NewsTagRel; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | /** 7 | * Created on 2018/7/23 0023 8 | * NewsTagRelRepository 9 | * 10 | * @author enilu 11 | */ 12 | public interface NewsTagRelRepository extends JpaRepository { 13 | } 14 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/entity/Tag.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.entity; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.Entity; 6 | import javax.persistence.Table; 7 | 8 | /** 9 | * Created on 2018/7/23 0023 10 | * Tag 11 | * 12 | * @author enilu 13 | */ 14 | @Data 15 | @Entity 16 | @Table(name="tag") 17 | public class Tag extends BaseEntity { 18 | private String tag; 19 | private Integer count; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/service/ConfigService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.service; 2 | 3 | import lombok.Data; 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.stereotype.Service; 6 | 7 | /** 8 | * @author :enilu 9 | * @date :Created in 2019/9/20 14:34 10 | */ 11 | @Service 12 | @Data 13 | public class ConfigService { 14 | @Value("${app.img.dir}") 15 | private String imgDir; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /bean/src/main/java/cn/enilu/website/bean/enumeration/ServiceExceptionEnum.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.bean.enumeration; 2 | 3 | /** 4 | * Created on 2018/7/11 0011 5 | * ServiceExceptionEnum 6 | * 7 | * @author enilu 8 | */ 9 | public interface ServiceExceptionEnum { 10 | 11 | /** 12 | * 获取异常编码 13 | * @return 14 | */ 15 | Integer getCode(); 16 | 17 | /** 18 | * 获取异常信息 19 | * @return 20 | */ 21 | String getMessage(); 22 | } 23 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/component/comm_tools.js: -------------------------------------------------------------------------------- 1 | !window._bd_share_is_recently_loaded&&window._bd_share_main.F.module("component/comm_tools",function(e,t){var n=function(){var e=window.location||document.location||{};return e.href||""},r=function(e,t){var n=e.length,r="";for(var i=1;i<=t;i++){var s=Math.floor(n*Math.random());r+=e.charAt(s)}return r},i=function(){var e=(+(new Date)).toString(36),t=r("0123456789abcdefghijklmnopqrstuvwxyz",3);return e+t};t.getLinkId=i,t.getPageUrl=n}); -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/entity/NewsTagRel.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.entity; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.Entity; 6 | import javax.persistence.Table; 7 | 8 | /** 9 | * Created on 2018/7/23 0023 10 | * NewsTagRel 11 | * 12 | * @author enilu 13 | */ 14 | @Data 15 | @Entity 16 | @Table(name="news_tag_rel") 17 | public class NewsTagRel extends BaseEntity { 18 | 19 | private Long idTag; 20 | private String idNews; 21 | } 22 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/image_api.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("share/image_api",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class,s=e("component/comm_tools"),o=e("share/api_base");t.Api=i.create(function(e){var t=this;t._init=function(){var e=t.getView();e.render(),e.init(),e.on("moreover",function(){e._keepBarVisible()})},t._processAction=function(n){var r=t.getView();return e.bdPic=r._getImageSrc(),{data:{type:"imgshare"}}},t._distory=function(){}},o.ApiBase)}); -------------------------------------------------------------------------------- /blog/src/main/resources/templates/common/common_js.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/slide_api.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("share/slide_api",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class,s=e("share/api_base");t.Api=i.create(function(e){var t=this;t._init=function(){var e=t.getView();e.render(),e.init()},t._slidePop=function(t,n){t._popupBox=n.boxEle,t._getPosition=function(){return{top:0,left:e.bdPos=="left"?0:n.element.width()}},t.show(n,e)},t._processAction=function(e){return{data:{type:"share"}}},t._distory=function(){}},s.ApiBase)}); -------------------------------------------------------------------------------- /blog/src/main/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | debug=false 2 | #baidu ai api config 3 | api.baidu.nlp.app.id=11555761 4 | api.baidu.nlp.app.key=Tt3yACl8Qr9DmuDFaTCGbhGs 5 | api.baidu.nlp.secret.key=ifCMCwpuzAturDEa3v7vxZHuvA2zyHGd 6 | 7 | spring.jpa.show-sql=false 8 | #spring.jpa.hibernate.ddl-auto=update 9 | 10 | spring.jpa.database-platform=com.enigmabridge.hibernate.dialect.SQLiteDialect 11 | spring.jpa.generate-ddl=true 12 | sqlite.url=jdbc:sqlite:d:\\data/website/blog.db 13 | app.img.dir=d:\\data/website/mpimg_new/ -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/conf/const.js: -------------------------------------------------------------------------------- 1 | !window._bd_share_is_recently_loaded&&window._bd_share_main.F.module("conf/const",function(e,t,n){t.CMD_ATTR="data-cmd",t.CONFIG_TAG_ATTR="data-tag",t.URLS={likeSetUrl:"http://like.baidu.com/set",commitUrl:"http://s.share.baidu.com/commit",jumpUrl:"http://s.share.baidu.com",mshareUrl:"http://s.share.baidu.com/mshare",emailUrl:"http://s.share.baidu.com/sendmail",nsClick:"http://nsclick.baidu.com/v.gif",backUrl:"http://s.share.baidu.com/back",shortUrl:"http://dwz.cn/v2cut.php"}}); -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/entity/HtmlBean.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Date; 6 | import java.util.List; 7 | 8 | /** 9 | * Created on 2018/7/19 0019 10 | * HtmlBean 11 | * 12 | * @author enilu 13 | */ 14 | @Data 15 | public class HtmlBean { 16 | private String url; 17 | private String title; 18 | private String content; 19 | private List tag; 20 | private String category; 21 | private String summary; 22 | private Date publishDate; 23 | } 24 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/trans/trans_bdysc.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("trans/trans_bdysc",function(e,t){var n=function(e){var t={url:e.url,title:e.title};if(window.baiduSC_yaq4d3elabjnvmijccc1zuo3o4yeizck)window.baiduSC_yaq4d3elabjnvmijccc1zuo3o4yeizck.go(t);else{window.baiduSC_yaq4d3elabjnvmijccc1zuo3o4yeizck={callback:function(){this.go(t)}};var n=document.createElement("script"),r="http://s.wenzhang.baidu.com/js/pjt/content_ex/page/";r+="bookmark.js?s=baidu_fenxiang&_t="+Math.random(),n.src=r,document.getElementsByTagName("body")[0].appendChild(n)}};t.run=n}); -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/SoucheCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import static org.junit.Assert.*; 8 | 9 | /** 10 | * Created on 2018/7/19 0019 11 | * SoucheCollectTest 12 | * 13 | * @author enilu 14 | */ 15 | public class SoucheCollectTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private SoucheCollect soucheCollect; 18 | @Test 19 | public void collectAll() { 20 | soucheCollect.collectAll(); 21 | } 22 | } -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /bean/src/main/java/cn/enilu/website/bean/Rets.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.bean; 2 | /** 3 | * Created on 2018/7/11 0011 4 | * Rets 5 | * 6 | * @author enilu 7 | */ 8 | public class Rets { 9 | 10 | public static final String SUCCESS = "0000"; 11 | public static final String FAILURE = "9999"; 12 | 13 | public static Ret success(Object data) { 14 | return new Ret(Rets.SUCCESS, "成功", data); 15 | } 16 | 17 | public static Ret failure(String msg) { 18 | return new Ret(Rets.FAILURE, msg, null); 19 | } 20 | 21 | public static Ret success() { 22 | return new Ret(Rets.SUCCESS, "成功", null); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/base/class.js: -------------------------------------------------------------------------------- 1 | !window._bd_share_is_recently_loaded&&window._bd_share_main.F.module("base/class",function(e,t,n){var r=e("base/min_tangram").T;t.BaseClass=function(){var e=this,t={};e.on=function(e,n){var r=t[e];r||(r=t[e]=[]),r.push(n)},e.un=function(e,n){if(!e){t={};return}var i=t[e];i&&(n?r.each(i,function(e,t){if(t==n)return i.splice(e,1),!1}):t[e]=[])},e.fire=function(n,i){var s=t[n];s&&(i=i||{},r.each(s,function(t,n){i._result=n.call(e,r.extend({_ctx:{src:e}},i))}))}};var i={};i.create=function(e,n){return n=n||t.BaseClass,function(){n.apply(this,arguments);var i=r.extend({},this);e.apply(this,arguments),this._super=i}},t.Class=i}); -------------------------------------------------------------------------------- /blog/src/test/resoruces/application-test.properties: -------------------------------------------------------------------------------- 1 | debug=false 2 | #baidu ai api config 3 | api.baidu.nlp.app.id=11555761 4 | api.baidu.nlp.app.key=Tt3yACl8Qr9DmuDFaTCGbhGs 5 | api.baidu.nlp.secret.key=ifCMCwpuzAturDEa3v7vxZHuvA2zyHGd 6 | 7 | 8 | 9 | #spring.datasource.url=jdbc:mysql://localhost:3306/blog 10 | #spring.datasource.username=root 11 | #spring.datasource.password=root 12 | spring.jpa.show-sql=false 13 | #spring.jpa.hibernate.ddl-auto=update 14 | 15 | spring.jpa.database-platform=com.enigmabridge.hibernate.dialect.SQLiteDialect 16 | spring.jpa.generate-ddl=true 17 | sqlite.url=jdbc:sqlite:d:\\data/website/blog.db 18 | app.img.dir=d:\\data/website/mpimg_new/ -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/share_api.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("share/share_api",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class,s=e("component/comm_tools"),o=e("share/api_base");t.Api=i.create(function(e){function r(t){window._bd_share_main.F.use("trans/data",function(n){n.get({type:"share_count",url:e.bdUrl||s.getPageUrl(),callback:function(e,n){var r={count:e,display:n};t&&t(r)}})})}var t=this,n={count:0,clicked:!1};t._init=function(){var e=t.getView();e.render(),e.on("getsharecount",function(){r(function(t){n.count=t.count,e.setNumber(t.count,t.display)})}),e.init()},t._processAction=function(e){return{data:{type:"share"}}}},o.ApiBase)}); -------------------------------------------------------------------------------- /merge-pdf-online/src/test/java/cn/enilu/website/mergepdf/BaseApplicationStartTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.mergepdf; 2 | 3 | import org.junit.runner.RunWith; 4 | import org.slf4j.Logger; 5 | import org.slf4j.LoggerFactory; 6 | import org.springframework.boot.test.context.SpringBootTest; 7 | import org.springframework.test.context.junit4.SpringRunner; 8 | 9 | /** 10 | * Name: ApplicationStartTest
11 | * User: Yao
12 | * Date: 2018/1/24
13 | * Time: 16:26
14 | */ 15 | @RunWith(SpringRunner.class) 16 | @SpringBootTest 17 | public abstract class BaseApplicationStartTest { 18 | protected final Logger log= LoggerFactory.getLogger(getClass()); 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/AppConfiguration.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.autoconfigure.domain.EntityScan; 6 | import org.springframework.data.jpa.repository.config.EnableJpaRepositories; 7 | 8 | @SpringBootApplication 9 | @EntityScan(basePackages="cn.enilu.website.blog.entity") 10 | @EnableJpaRepositories(basePackages= "cn.enilu.website.blog.dao") 11 | public class AppConfiguration { 12 | 13 | 14 | public static void main(String[] args) { 15 | SpringApplication.run(AppConfiguration.class); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/TencentUedCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | /** 8 | * Created on 2018/7/21 0021 9 | * TencentUedCollectTest 10 | * 11 | * @author enilu 12 | */ 13 | public class TencentUedCollectTest extends BaseApplicationStartTest { 14 | @Autowired 15 | private TencentUedCollect tencentUedCollect; 16 | 17 | @Test 18 | public void collect() { 19 | } 20 | 21 | @Test 22 | public void collectAll() { 23 | tencentUedCollect.collectAll(); 24 | } 25 | } -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/Team75CollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import static org.junit.Assert.*; 8 | 9 | /** 10 | * Created on 2018/7/22 0022 11 | * Team75CollectTest 12 | * 13 | * @author enilu 14 | */ 15 | public class Team75CollectTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private Team75Collect team75Collect; 18 | @Test 19 | public void collect() { 20 | } 21 | 22 | @Test 23 | public void collectAll() { 24 | team75Collect.collectAll(); 25 | } 26 | } -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/YunfengCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | /** 8 | * Created on 2018/7/24 0024 9 | * YunfengCollectTest 10 | * 11 | * @author enilu 12 | */ 13 | public class YunfengCollectTest extends BaseApplicationStartTest { 14 | @Autowired 15 | private YunfengCollect yunfengCollect; 16 | @Test 17 | public void collect() { 18 | yunfengCollect.collect(); 19 | } 20 | 21 | @Test 22 | public void collectAll() { 23 | yunfengCollect.collectAll(); 24 | } 25 | } -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/MeituanCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import static org.junit.Assert.*; 8 | 9 | /** 10 | * Created on 2018/7/22 0022 11 | * MeituanCollectTest 12 | * 13 | * @author enilu 14 | */ 15 | public class MeituanCollectTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private MeituanCollect meituanCollect; 18 | 19 | @Test 20 | public void collect() { 21 | } 22 | 23 | @Test 24 | public void collectAll() { 25 | meituanCollect.collectAll(); 26 | } 27 | } -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/BaiduUedCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import static org.junit.Assert.*; 8 | 9 | /** 10 | * Created on 2018/7/22 0022 11 | * BaiduUedCollectTest 12 | * 13 | * @author enilu 14 | */ 15 | public class BaiduUedCollectTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private BaiduUedCollect baiduUedCollect; 18 | 19 | @Test 20 | public void collect() { 21 | } 22 | 23 | @Test 24 | public void collectAll() { 25 | baiduUedCollect.collectAll(); 26 | } 27 | } -------------------------------------------------------------------------------- /merge-pdf-online/src/main/java/cn/enilu/website/mergepdf/controller/IndexController.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.mergepdf.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.ui.Model; 5 | import org.springframework.web.bind.annotation.RequestMapping; 6 | 7 | /** 8 | * Created on 2018/2/2 0002. 9 | * 10 | * @author zt 11 | */ 12 | @Controller 13 | public class IndexController extends BaseController{ 14 | 15 | @RequestMapping("/about.html") 16 | public String about(Model model){ 17 | 18 | return "upload"; 19 | } 20 | 21 | @RequestMapping("/student.html") 22 | public String student(){ 23 | return "student"; 24 | } 25 | 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/java/cn/enilu/website/mergepdf/entity/Admin.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.mergepdf.entity; 2 | 3 | import java.io.Serializable; 4 | 5 | 6 | /** 7 | * Created on 2018/7/16 0016 8 | * Admin 9 | * 10 | * @author enilu 11 | */ 12 | public class Admin implements Serializable { 13 | 14 | private String name; 15 | private String password; 16 | 17 | public String getName() { 18 | return name; 19 | } 20 | 21 | public void setName(String name) { 22 | this.name = name; 23 | } 24 | 25 | public String getPassword() { 26 | return password; 27 | } 28 | 29 | public void setPassword(String password) { 30 | this.password = password; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/dao/CollectorRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.dao; 2 | 3 | import cn.enilu.website.blog.entity.Collector; 4 | import org.springframework.cache.annotation.CacheConfig; 5 | import org.springframework.cache.annotation.Cacheable; 6 | import org.springframework.data.jpa.repository.JpaRepository; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * CollectorRepository 12 | * version 2018/7/26 0026 13 | * 14 | * @author enilu 15 | */ 16 | @CacheConfig(cacheNames = "collectors") 17 | @Cacheable 18 | public interface CollectorRepository extends JpaRepository { 19 | 20 | List findAllByState(boolean state); 21 | 22 | Collector findOneByAuthor(String author); 23 | } 24 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/AlibabaUedCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import static org.junit.Assert.*; 8 | 9 | /** 10 | * Created on 2018/7/22 0022 11 | * AlibabaUedCollectTest 12 | * 13 | * @author enilu 14 | */ 15 | public class AlibabaUedCollectTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private AlibabaUedCollect alibabaUedCollect; 18 | 19 | @Test 20 | public void collect() { 21 | } 22 | 23 | @Test 24 | public void collectAll() { 25 | alibabaUedCollect.collectAll(); 26 | } 27 | } -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/service/TagServiceTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.service; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * Created on 2018/7/23 0023 11 | * TagServiceTest 12 | * 13 | * @author enilu 14 | */ 15 | public class TagServiceTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private TagService tagService; 18 | 19 | @Test 20 | public void findAll() { 21 | } 22 | 23 | @Test 24 | public void findHotTag() { 25 | List list = tagService.findHotTag(); 26 | System.out.println(list.size()); 27 | } 28 | } -------------------------------------------------------------------------------- /blog/src/main/resources/templates/common/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |
7 |
8 | 13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/TencentIsuxCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import static org.junit.Assert.*; 8 | 9 | /** 10 | * Created on 2018/7/23 0023 11 | * TencentIsuxCollectTest 12 | * 13 | * @author enilu 14 | */ 15 | public class TencentIsuxCollectTest extends BaseApplicationStartTest { 16 | 17 | @Autowired 18 | private TencentIsuxCollect tencentIsuxCollect; 19 | @Test 20 | public void collect() { 21 | } 22 | 23 | @Test 24 | public void collectAll() { 25 | tencentIsuxCollect.collectAll(); 26 | } 27 | } -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /bean/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | website 7 | cn.enilu 8 | 1.0 9 | 10 | 4.0.0 11 | 12 | website-bean 13 | 14 | 15 | 16 | org.projectlombok 17 | lombok 18 | compile 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/dao/TagRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.dao; 2 | 3 | import cn.enilu.website.blog.entity.Tag; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.Query; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * Created on 2018/7/23 0023 11 | * TagRepository 12 | * 13 | * @author enilu 14 | */ 15 | public interface TagRepository extends JpaRepository { 16 | 17 | List findAllByOrderByTagAsc(); 18 | 19 | /** 20 | * 查询热门标签 21 | * @return 22 | */ 23 | @Query(nativeQuery = true,value = "select id_tag from news_tag_rel group by id_tag having count(id)>50 order by count(id) desc") 24 | List findHotTag(); 25 | 26 | List findAllByIdIn(List idList); 27 | } 28 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/BaseApplicationStartTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website; 2 | 3 | import org.junit.runner.RunWith; 4 | import org.slf4j.Logger; 5 | import org.slf4j.LoggerFactory; 6 | import org.springframework.boot.test.context.SpringBootTest; 7 | import org.springframework.test.context.TestPropertySource; 8 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 9 | 10 | /** 11 | * Name: ApplicationStartTest
12 | * User: Yao
13 | * Date: 2018/1/24
14 | * Time: 16:26
15 | */ 16 | 17 | @RunWith(SpringJUnit4ClassRunner.class) 18 | @TestPropertySource(locations = {"classpath:application-test.properties"}) 19 | @SpringBootTest 20 | public class BaseApplicationStartTest { 21 | protected final Logger logger= LoggerFactory.getLogger(getClass()); 22 | 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/i18n/messages_zh_CN.properties: -------------------------------------------------------------------------------- 1 | btn.export=合并并导出 2 | btn.pdf.split=分割并导出 3 | btn.submit=提交 4 | download.txt=点击下载 5 | footer.contactUs=联系我们 6 | footer.sendmail=有问题?请发邮件给我 7 | footer.wechat=加我微信 8 | footer.friendly.link=友情链接 9 | footer.friendly.link.blog=博客精选 10 | footer.friendly.link.guns-lite=guns-lite 11 | footer.friendly.link.material-admin=material-admin 12 | input.pdf.split.placehoder=输入分割的页码,用逗号分割多个分割页码,例如:1,5,9将分割为三个文件:1-4,5-8,9-end 13 | loading.txt=文件合并中,请稍等... 14 | menu.about=关于我 15 | menu.home=首页 16 | menu.pdf.merge=合并PDF 17 | menu.pdf.split=分割PDF 18 | over.txt=文件合并完毕 19 | table.header.file.name=文件名 20 | table.header.file.size=文件大小(字节) 21 | table.header.file.uuid=uuid 22 | table.header.merge.order=合并顺序 23 | table.header.order=顺序 24 | footer.admire=赞赏一下 25 | footer.mpAccount=公众号 26 | footer.friendly.link.web-flash=web-flash 27 | menu.arliyun=最高¥2000云产品通用代金券 -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/like_api.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("share/like_api",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class,s=e("share/api_base");t.Api=i.create(function(e){function r(e){window._bd_share_main.F.use("trans/data",function(t){t.get({type:"like_count",url:document.location.href,callback:function(t){var n={count:t};e&&e(n)}})})}function i(t){var n=e;window._bd_share_main.F.use("trans/trans",function(e){e.run({type:"like",url:document.location.href,callback:function(e){var n={err:e};t&&t(n)}})})}var t=this,n={count:0,clicked:!1};t._init=function(){var e=t.getView();e.render(),e.init(),r(function(t){n.count=t.count,e.setNumber(t.count)})},t._processAction=function(e){e.cmd=="like"&&(n.clicked?t.getView().showDoneState(e.element):i(function(r){n.clicked=!0,r.err==0?(n.count++,t.getView().addOne(e.element,n.count)):t.getView().showDoneState(e.element)}))}},s.ApiBase)}); -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /bean/src/main/java/cn/enilu/website/bean/enumeration/WebException.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.bean.enumeration; 2 | 3 | /** 4 | * Created on 2018/7/11 0011 5 | * WebException 6 | * 7 | * @author enilu 8 | */ 9 | public class WebException extends RuntimeException { 10 | 11 | private Integer code; 12 | 13 | private String message; 14 | 15 | public WebException(ServiceExceptionEnum serviceExceptionEnum) { 16 | this.code = serviceExceptionEnum.getCode(); 17 | this.message = serviceExceptionEnum.getMessage(); 18 | } 19 | 20 | public Integer getCode() { 21 | return code; 22 | } 23 | 24 | public void setCode(Integer code) { 25 | this.code = code; 26 | } 27 | 28 | @Override 29 | public String getMessage() { 30 | return message; 31 | } 32 | 33 | public void setMessage(String message) { 34 | this.message = message; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/entity/Collector.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.entity; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.Entity; 6 | import javax.persistence.Table; 7 | 8 | /** 9 | * Collector 10 | * version 2018/7/26 0026 11 | * 12 | * @author enilu 13 | */ 14 | @Table(name = "collector") 15 | @Entity 16 | @Data 17 | public class Collector extends BaseEntity { 18 | private String source; 19 | private String home; 20 | private String author; 21 | private String className; 22 | private Boolean state; 23 | private String category; 24 | 25 | public Collector(String source, String home, String author, String className, Boolean state) { 26 | this.source = source; 27 | this.home = home; 28 | this.author = author; 29 | this.className = className; 30 | this.state = state; 31 | } 32 | 33 | public Collector() { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/listener/CacheListener.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.listener; 2 | 3 | import cn.enilu.website.blog.cache.CollectCache; 4 | import org.slf4j.Logger; 5 | import org.slf4j.LoggerFactory; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.boot.CommandLineRunner; 8 | import org.springframework.stereotype.Component; 9 | 10 | /** 11 | * Created on 2018/7/19 0019 12 | * CacheListener 13 | * 14 | * @author enilu 15 | */ 16 | //@Component 17 | public class CacheListener implements CommandLineRunner { 18 | private Logger logger = LoggerFactory.getLogger(CacheListener.class); 19 | @Autowired 20 | private CollectCache collectCache; 21 | @Override 22 | public void run(String... strings) throws Exception { 23 | logger.info("...................cache listner.................."); 24 | collectCache.cache(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/font-awesome/4.7.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | http://pdfmerge.online/ 12 | 2018-07-16T07:32:14+00:00 13 | 1.00 14 | 15 | 16 | http://pdfmerge.online/pdfmerge.html 17 | 2018-07-16T07:32:14+00:00 18 | 0.80 19 | 20 | 21 | http://pdfmerge.online/pdfsplit/index.html 22 | 2018-07-16T07:32:14+00:00 23 | 0.80 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/css/weixin_popup.css: -------------------------------------------------------------------------------- 1 | .bd_weixin_popup_bg{position:absolute;left:-400px;top:-400px;width:260px;height:320px;border:0;padding:0;margin:0;opacity:0;filter:alpha(opacity=0);z-index:11000}.bd_weixin_popup{position:absolute;left:-400px;top:-400px;padding:10px;width:280px !important;height:340px !important;background:#fff;border:solid 1px #d8d8d8;z-index:11001;font-size:12px}.bd_weixin_popup .bd_weixin_popup_head{font-size:12px;font-weight:bold;text-align:left;line-height:16px;height:16px;position:relative;color:#000}.bd_weixin_popup .bd_weixin_popup_head .bd_weixin_popup_close{width:16px;height:16px;position:absolute;right:0;top:0;color:#999;text-decoration:none;font-size:16px}.bd_weixin_popup .bd_weixin_popup_head .bd_weixin_popup_close:hover{text-decoration:none}.bd_weixin_popup .bd_weixin_popup_main{padding:15px 10px;min-height:150px;_height:150px}.bd_weixin_popup .bd_weixin_popup_foot{font-size:12px;text-align:left;line-height:22px;color:#666} -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kartik-v/bootstrap-fileinput", 3 | "description": "An enhanced HTML 5 file input for Bootstrap 3.x with features for file preview for many file types, multiple selection, ajax uploads, and more.", 4 | "keywords": ["bootstrap", "jquery", "file", "input", "preview", "upload", "image", "multiple", "ajax", "delete", "progress"], 5 | "homepage": "https://github.com/kartik-v/bootstrap-fileinput", 6 | "license": "BSD-3-Clause", 7 | "authors": [ 8 | { 9 | "name": "Kartik Visweswaran", 10 | "email": "kartikv2@gmail.com", 11 | "homepage": "http://www.krajee.com/" 12 | } 13 | ], 14 | "autoload": { 15 | "psr-4": { 16 | "kartik\\plugins\\fileinput\\": "" 17 | } 18 | }, 19 | "extra": { 20 | "branch-alias": { 21 | "dev-master": "4.4.x-dev" 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/component/anticheat.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("component/anticheat",function(e,t,n){var r=e("base/tangram").T,i,s,o=function(e,t){var n=r(t).offset(),i={left:e.pageX,top:e.pageY};return{left:Math.floor(i.left-n.left),top:Math.floor(i.top-n.top)}},u=function(e,t){typeof i=="undefined"&&(i=Math.floor(e.pageX),s=Math.floor(e.pageY));if(t){var n=o(e,t);r(t).data("over_x",n.left).data("over_y",n.top).data("over_time",+(new Date))}},a=function(e,t){var n=o(e,t);r(t).data("click_x",n.left).data("click_y",n.top)},f=function(e,t,n){e=="mouseenter"?u(t,n):e=="mouseclick"&&a(t,n)},l=function(e){var t=r(e.__element),n=e.__buttonType,o=t.data("over_x")||0,u=t.data("over_y")||0,a=t.data("click_x"),f=t.data("click_y"),l=t.innerWidth(),c=t.innerHeight(),h=new Date-t.data("over_time"),p=document.body.offsetWidth,d=document.body.offsetHeight,v=window.screen.availWidth,m=window.screen.availHeight;return[i,s,n>0?1:0,o,u,a,f,l,c,n,h,p,d,v,m].join(".")};t.process=f,t.getSloc=l}); -------------------------------------------------------------------------------- /bean/src/main/java/cn/enilu/website/bean/Ret.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.bean; 2 | 3 | import lombok.Data; 4 | /** 5 | * Created on 2018/7/11 0011 6 | * Ret 7 | * 8 | * @author enilu 9 | */ 10 | @Data 11 | public class Ret { 12 | 13 | private String code; 14 | private String msg; 15 | private T data; 16 | private boolean success; 17 | 18 | public Ret() { 19 | 20 | } 21 | 22 | public Ret(String code, String msg, T data) { 23 | this.code = code; 24 | this.msg = msg; 25 | this.data = data; 26 | this.success = "0000".equals(code); 27 | } 28 | 29 | @Override 30 | public String toString() { 31 | StringBuilder builder = new StringBuilder(); 32 | builder.append("{"); 33 | builder.append("'code':").append(code).append(","); 34 | builder.append("'msg':").append(msg).append(","); 35 | builder.append("'success':").append(success).append(","); 36 | builder.append("}"); 37 | return builder.toString(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/templates/mail/contact.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 信数官网-我的业务场景 12 | 13 | 14 |

我的业务场景

15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
姓名联系电话公司名称行业类别业务场景
36 |

37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/javascript/jquery.cookie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery Cookie Plugin v1.4.0 3 | * https://github.com/carhartl/jquery-cookie 4 | * 5 | * Copyright 2013 Klaus Hartl 6 | * Released under the MIT license 7 | */ 8 | 9 | (function(e,t,n){function i(e){return e}function s(e){return decodeURIComponent(e.replace(r," "))}var r=/\+/g;var o=e.cookie=function(r,u,a){if(u!==n){a=e.extend({},o.defaults,a);if(u===null){a.expires=-1}if(typeof a.expires==="number"){var f=a.expires,l=a.expires=new Date;l.setDate(l.getDate()+f)}u=o.json?JSON.stringify(u):String(u);return t.cookie=[encodeURIComponent(r),"=",o.raw?u:encodeURIComponent(u),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}var c=o.raw?i:s;var h=t.cookie.split("; ");for(var p=0,d;d=h[p]&&h[p].split("=");p++){if(c(d.shift())===r){var v=c(d.join("="));return o.json?JSON.parse(v):v}}return null};o.defaults={};e.removeCookie=function(t,n){if(e.cookie(t)!==null){e.cookie(t,null,n);return true}return false}})(jQuery,document) -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/javascript/jquery.cookie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery Cookie Plugin v1.4.0 3 | * https://github.com/carhartl/jquery-cookie 4 | * 5 | * Copyright 2013 Klaus Hartl 6 | * Released under the MIT license 7 | */ 8 | 9 | (function(e,t,n){function i(e){return e}function s(e){return decodeURIComponent(e.replace(r," "))}var r=/\+/g;var o=e.cookie=function(r,u,a){if(u!==n){a=e.extend({},o.defaults,a);if(u===null){a.expires=-1}if(typeof a.expires==="number"){var f=a.expires,l=a.expires=new Date;l.setDate(l.getDate()+f)}u=o.json?JSON.stringify(u):String(u);return t.cookie=[encodeURIComponent(r),"=",o.raw?u:encodeURIComponent(u),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}var c=o.raw?i:s;var h=t.cookie.split("; ");for(var p=0,d;d=h[p]&&h[p].split("=");p++){if(c(d.shift())===r){var v=c(d.join("="));return o.json?JSON.parse(v):v}}return null};o.defaults={};e.removeCookie=function(t,n){if(e.cookie(t)!==null){e.cookie(t,null,n);return true}return false}})(jQuery,document) -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/config/DataSourceConfiguration.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.config; 2 | 3 | 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; 6 | import org.springframework.context.annotation.Bean; 7 | import org.springframework.context.annotation.Configuration; 8 | import org.sqlite.SQLiteDataSource; 9 | 10 | import javax.sql.DataSource; 11 | 12 | 13 | /** 14 | * Created by maggie on 18/7/20. 15 | */ 16 | @Configuration 17 | public class DataSourceConfiguration 18 | { 19 | 20 | @Value("${sqlite.url}") 21 | private String sqliteUrl; 22 | @Bean(destroyMethod = "", name = "EmbeddeddataSource") 23 | public DataSource dataSource() { 24 | DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create(); 25 | dataSourceBuilder.driverClassName("org.sqlite.JDBC"); 26 | dataSourceBuilder.url(sqliteUrl); 27 | dataSourceBuilder.type(SQLiteDataSource.class); 28 | return dataSourceBuilder.build(); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/dao/NewsRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.dao; 2 | 3 | import cn.enilu.website.blog.entity.News; 4 | import org.springframework.cache.annotation.CacheConfig; 5 | import org.springframework.cache.annotation.Cacheable; 6 | import org.springframework.data.jpa.repository.JpaRepository; 7 | import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 8 | import org.springframework.data.jpa.repository.Query; 9 | 10 | import java.util.Date; 11 | import java.util.List; 12 | 13 | /** 14 | * Created on 2018/7/18 0018 15 | * NewsRepository 16 | * 17 | * @author enilu 18 | */ 19 | @CacheConfig(cacheNames = "news") 20 | @Cacheable 21 | public interface NewsRepository extends JpaRepository,JpaSpecificationExecutor { 22 | 23 | @Query(nativeQuery = true,value = "SELECT category ,count(id) FROM news group by category order by count(id) desc") 24 | List findAllCategories(); 25 | 26 | List findAllByAuthor(String author); 27 | 28 | List findByPublishDateBetween(Date start, Date end); 29 | } 30 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/dao/CollectorRepositoryTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.dao; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import org.junit.Test; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | 7 | import static org.junit.Assert.*; 8 | 9 | /** 10 | * CollectorRepositoryTest 11 | * version 2018/7/26 0026 12 | * 13 | * @author enilu 14 | */ 15 | public class CollectorRepositoryTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private CollectorRepository collectorRepository; 18 | @Test 19 | public void findAllByState() { 20 | System.out.println("1"); 21 | collectorRepository.findAllByState(true); 22 | System.out.println("2"); 23 | collectorRepository.findAllByState(true); 24 | System.out.println("end"); 25 | } 26 | @Test 27 | public void findAll() { 28 | System.out.println("1"); 29 | collectorRepository.findAll(); 30 | System.out.println("2"); 31 | collectorRepository.findAll(); 32 | System.out.println("end"); 33 | } 34 | } -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/templates/mail/free_form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 信数官网用户联系邀约 12 | 13 | 14 |

产品试用

15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
产品公司名称姓名客户行业email联系电话
38 | 39 | 40 | -------------------------------------------------------------------------------- /bean/src/main/java/cn/enilu/website/bean/enumeration/WebExceptionEnum.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.bean.enumeration; 2 | 3 | /** 4 | * Created on 2018/7/11 0011 5 | * WebExceptionEnum 6 | * 7 | * @author enilu 8 | */ 9 | public enum WebExceptionEnum implements ServiceExceptionEnum{ 10 | 11 | /** 12 | * 其他 13 | */ 14 | WRITE_ERROR(500,"渲染界面错误"), 15 | 16 | /** 17 | * 文件上传 18 | */ 19 | FILE_READING_ERROR(400,"FILE_READING_ERROR!"), 20 | FILE_NOT_FOUND(400,"FILE_NOT_FOUND!"), 21 | 22 | /** 23 | * 错误的请求 24 | */ 25 | REQUEST_NULL(400, "请求有错误"), 26 | SERVER_ERROR(500, "服务器异常"); 27 | 28 | WebExceptionEnum(int code, String message) { 29 | this.code = code; 30 | this.message = message; 31 | } 32 | 33 | private Integer code; 34 | 35 | private String message; 36 | 37 | @Override 38 | public Integer getCode() { 39 | return code; 40 | } 41 | 42 | public void setCode(Integer code) { 43 | this.code = code; 44 | } 45 | 46 | @Override 47 | public String getMessage() { 48 | return message; 49 | } 50 | 51 | public void setMessage(String message) { 52 | this.message = message; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/i18n/messages_en_US.properties: -------------------------------------------------------------------------------- 1 | btn.export=merge&export 2 | btn.pdf.split=Split&Export 3 | btn.submit = submit 4 | download.txt=download 5 | footer.contactUs=Contact Us 6 | footer.sendmail=have question? send mail to me 7 | footer.wechat=Join me with wechat 8 | footer.friendly.link=Friendlly Link 9 | footer.friendly.link.blog=itblog 10 | footer.friendly.link.guns-lite=guns-lite 11 | footer.friendly.link.material-admin=material-admin 12 | input.pdf.split.placehoder=input page of split,split mutiple pages with commas(,)eg:input:1,5,9 will split :1-4,5-8,9-end 13 | loading.txt=file merging, Please wait on ... 14 | menu.about=about 15 | menu.home=home 16 | menu.pdf.merge=Merge PDF 17 | menu.pdf.split=Split PDF 18 | over.txt=finished 19 | table.header.file.name=file name 20 | table.header.file.size=file size(bytes) 21 | table.header.file.uuid=uuid 22 | table.header.merge.order=merge order 23 | table.header.order=index 24 | footer.admire=appreciate a coffee 25 | footer.mpAccount=WeChat Official Accounts 26 | footer.friendly.link.web-flash=web-flash 27 | menu.arliyun=Maximum 2000 Cloud Products General Voucher -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/controller/TagController.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.controller; 2 | 3 | import cn.enilu.website.blog.entity.Tag; 4 | import cn.enilu.website.blog.service.NewsService; 5 | import cn.enilu.website.blog.service.TagService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Controller; 8 | import org.springframework.ui.Model; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | 11 | import java.util.List; 12 | 13 | /** 14 | * Created on 2018/7/23 0023 15 | * TagController 16 | * 17 | * @author enilu 18 | */ 19 | @Controller 20 | @RequestMapping("/tag") 21 | public class TagController extends BaseController { 22 | @Autowired 23 | private TagService tagService; 24 | @Autowired 25 | private NewsService newsService; 26 | @RequestMapping 27 | public String index(Model model){ 28 | List list = tagService.findAll(); 29 | model.addAttribute("list",list); 30 | model.addAttribute("categories",newsService.getCategories()); 31 | return "tag"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/nuget/Package.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | bootstrap-fileinput 5 | bootstrap-fileinput 6 | 4.4.8 7 | Kartik Visweswaran 8 | Kartik Visweswaran 9 | https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md 10 | https://github.com/kartik-v/bootstrap-fileinput 11 | http://getbootstrap.com/favicon.ico 12 | false 13 | An enhanced HTML 5 file input for Bootstrap 3.x with file preview for various files, offers multiple selection, and more. 14 | https://github.com/kartik-v/bootstrap-fileinput/blob/master/CHANGE.md 15 | Copyright 2014 - 2018 16 | bootstrap bootstrap-fileinput 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/HuziCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import cn.enilu.website.blog.entity.Collector; 5 | import org.junit.Test; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | 8 | import static org.junit.Assert.*; 9 | 10 | /** 11 | * HuziCollectTest 12 | * 13 | * @author zt 14 | * @version 2018/8/6 0006 15 | */ 16 | public class HuziCollectTest extends BaseApplicationStartTest { 17 | @Autowired 18 | private HuziCollect huziCollect; 19 | @Test 20 | public void collect() { 21 | Collector collector = new Collector("barretlee","http://www.barretlee.com/entry", 22 | "小胡子哥的博客","huziCollect",true); 23 | huziCollect.setCollect(collector); 24 | huziCollect.collect(); 25 | } 26 | 27 | @Test 28 | public void collectAll() { 29 | Collector collector = new Collector("barretlee","http://www.barretlee.com/entry", 30 | "小胡子哥的博客","huziCollect",true); 31 | huziCollect.setCollect(collector); 32 | huziCollect.collectAll(); 33 | } 34 | } -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-fileinput", 3 | "version": "4.4.8", 4 | "homepage": "https://github.com/kartik-v/bootstrap-fileinput", 5 | "authors": [ 6 | "Kartik Visweswaran " 7 | ], 8 | "description": "An enhanced HTML 5 file input for Bootstrap 3.x with file preview, multiple selection, ajax uploads, and more features.", 9 | "main": [ 10 | "./css/fileinput.min.css", 11 | "./js/fileinput.min.js" 12 | ], 13 | "keywords": [ 14 | "bootstrap", 15 | "file", 16 | "input", 17 | "preview", 18 | "image", 19 | "upload", 20 | "ajax", 21 | "multiple", 22 | "delete", 23 | "progress", 24 | "gallery" 25 | ], 26 | "dependencies": { 27 | "jquery": ">= 1.9.0", 28 | "bootstrap": ">= 3.0.0" 29 | }, 30 | "license": "BSD-3-Clause", 31 | "ignore": [ 32 | "**/.*", 33 | "node_modules", 34 | "composer.json", 35 | "examples", 36 | "bower_components", 37 | "test", 38 | "tests" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/nuget/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | NuGet Update -self 4 | REM remove package content folder 5 | rmdir /s /q content 6 | 7 | REM create new package content folder 8 | mkdir content 9 | 10 | REM create sub folder for js files 11 | mkdir content\Scripts 12 | 13 | REM create sub folders for css and img files 14 | mkdir content\Content 15 | mkdir content\Content\bootstrap-fileinput 16 | 17 | REM delete the previous package versions 18 | REM del bootstrap-fileinput.* 19 | 20 | REM copy the content to the destination folders 21 | xcopy ..\js content\Scripts /D /E /C /R /I /K /Y 22 | xcopy ..\css content\Content\bootstrap-fileinput\css /D /E /C /R /I /K /Y 23 | xcopy ..\img content\Content\bootstrap-fileinput\img /D /E /C /R /I /K /Y 24 | xcopy ..\themes content\Content\bootstrap-fileinput\themes /D /E /C /R /I /K /Y 25 | xcopy ..\sass content\Content\bootstrap-fileinput\sass /D /E /C /R /I /K /Y 26 | 27 | REM create a new package 28 | NuGet Pack Package.nuspec -Exclude NuGet.exe;build.bat 29 | 30 | REM Upload the new package 31 | REM for %%f in (content\Content\bootstrap-fileinput.*) do ( 32 | REM NuGet Push %%f 33 | REM rmdir /s /q content 34 | REM del %%f 35 | REM ) 36 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/entity/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.entity; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.hibernate.annotations.CreationTimestamp; 6 | import org.hibernate.annotations.UpdateTimestamp; 7 | 8 | import javax.persistence.Column; 9 | import javax.persistence.GeneratedValue; 10 | import javax.persistence.Id; 11 | import javax.persistence.MappedSuperclass; 12 | import java.io.Serializable; 13 | import java.util.Date; 14 | 15 | 16 | /** 17 | * @author deanyule 18 | */ 19 | @MappedSuperclass 20 | @Getter 21 | @Setter 22 | public abstract class BaseEntity implements Serializable { 23 | 24 | @Id 25 | @GeneratedValue 26 | private Long id; 27 | 28 | @CreationTimestamp 29 | @Column(name = "create_time",columnDefinition="DATETIME COMMENT '创建时间/注册时间'") 30 | private Date createTime; 31 | 32 | @Column(name = "create_by",columnDefinition="bigint COMMENT '创建人'") 33 | private Long createBy; 34 | 35 | @UpdateTimestamp 36 | @Column(name = "modify_time",columnDefinition="DATETIME COMMENT '最后更新时间'") 37 | private Date modifyTime; 38 | 39 | @Column(name = "modify_by",columnDefinition="bigint COMMENT '最后更新人'") 40 | private Long modifyBy; 41 | } 42 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/cache/CollectCache.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.cache; 2 | 3 | import cn.enilu.website.blog.dao.NewsRepository; 4 | import cn.enilu.website.blog.entity.News; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * Created on 2018/7/19 0019 12 | * CollectCache 13 | * 14 | * @author enilu 15 | */ 16 | @Service 17 | public class CollectCache { 18 | @Autowired 19 | private NewsRepository newsRepository; 20 | public static TimeCacheMap cache = new TimeCacheMap(3600, 2); 21 | 22 | 23 | public boolean exist(String key){ 24 | if(cache.size()==0){ 25 | cache(); 26 | } 27 | return cache.get(key)!=null; 28 | } 29 | 30 | public void saveKey(String key){ 31 | cache.put(key,key); 32 | } 33 | public void cache() { 34 | List list = newsRepository.findAll(); 35 | if (list != null && !list.isEmpty()) { 36 | for (News news:list) { 37 | String key =news.getUrlKey(); 38 | cache.put(key,news.getUrlKey()); 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-fileinput", 3 | "version": "4.4.8", 4 | "homepage": "https://github.com/kartik-v/bootstrap-fileinput", 5 | "authors": [ 6 | "Kartik Visweswaran " 7 | ], 8 | "description": "An enhanced HTML 5 file input for Bootstrap 3.x with file preview, multiple selection, ajax uploads, and more features.", 9 | "repository" : { 10 | "type": "git", 11 | "url": "https://github.com/kartik-v/bootstrap-fileinput.git" 12 | }, 13 | "bugs": { 14 | "url": "https://github.com/kartik-v/bootstrap-fileinput/issues" 15 | }, 16 | "keywords": [ 17 | "file", 18 | "input", 19 | "preview", 20 | "image", 21 | "upload", 22 | "ajax", 23 | "multiple", 24 | "delete", 25 | "progress", 26 | "gallery" 27 | ], 28 | "dependencies": { 29 | "jquery": ">= 1.9.0", 30 | "bootstrap": ">= 3.0.0" 31 | }, 32 | "main": "./js/fileinput.js", 33 | "style": "./css/fileinput.css", 34 | "peerDependencies": { 35 | "jquery": ">= 1.9.0", 36 | "bootstrap": ">= 3.0.0" 37 | }, 38 | "license": "BSD-3-Clause" 39 | } 40 | -------------------------------------------------------------------------------- /blog/src/test/java/cn/enilu/website/blog/collect/RuanyifengCollectTest.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.collect; 2 | 3 | import cn.enilu.website.BaseApplicationStartTest; 4 | import cn.enilu.website.blog.dao.CollectorRepository; 5 | import cn.enilu.website.blog.entity.Collector; 6 | import org.junit.Test; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | 9 | /** 10 | * Created on 2018/7/19 0019 11 | * RuanyifengCollectTest 12 | * 13 | * @author enilu 14 | */ 15 | public class RuanyifengCollectTest extends BaseApplicationStartTest { 16 | @Autowired 17 | private RuanyifengCollect ruanyifengCollect; 18 | @Autowired 19 | private CollectorRepository collectorRepository; 20 | 21 | @Test 22 | public void collect() { 23 | Collector collector = collectorRepository.findOneByAuthor("阮一峰"); 24 | ruanyifengCollect.setCollect(collector); 25 | ruanyifengCollect.collect(); 26 | } 27 | 28 | @Test 29 | public void collectAll() { 30 | ruanyifengCollect.collectAll(); 31 | } 32 | @Test 33 | public void collectCategory(){ 34 | ruanyifengCollect.collectCategory("http://www.ruanyifeng.com/blog/essays/"); 35 | } 36 | @Test 37 | public void collectOne(){ 38 | ruanyifengCollect.collectOne("http://www.ruanyifeng.com/blog/2017/12/qiang-tang.html"); 39 | } 40 | } -------------------------------------------------------------------------------- /blog/src/main/resources/templates/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 |
11 |

页面飞走了,正在跳转到首页... 12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |

40 | 41 |
42 |
43 | 44 |
45 |
46 | 47 | 53 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/view/share_view.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("view/share_view",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class,s=e("conf/const"),o=e("view/view_base"),u={btn:"bdsharebuttonbox",count:"bds_count"};t.View=i.create(function(e){function o(){var o=e.tag||"";return r("."+u.btn).each(function(e,u){if(!o||r(u).attr(s.CONFIG_TAG_ATTR)==o)t._entities.push(u),r(u).removeClass(function(e,t){var n=t.match(/bdshare-button-style\d*-\d*/g);if(n)return n.join(" ")}),r(u).addClass("bdshare-button-style"+n+"-"+i)}),t._entities}function a(){if(e.bdCustomStyle){var t=document.createElement("link");t.href=e.bdCustomStyle,t.rel="styleSheet",t.type="text/css",document.getElementsByTagName("head")[0].appendChild(t)}else window._bd_share_main.F.use("share_style"+n+"_"+i+".css")}function f(){r("."+u.btn).each(function(e,t){r(t).children("a,span").each(function(e,t){var n=r(t).attr(s.CMD_ATTR);n&&window._bd_share_main.F.use("component/partners",function(e){var i=e.partners,s=i[n]?"\u5206\u4eab\u5230"+i[n].name:"";!r(t).attr("title")&&s&&r(t).attr("title",s)})})})}var t=this,n=e.bdStyle||0,i="|16|24|32|".indexOf("|"+e.bdSize+"|")>-1?e.bdSize:16;t._buttonType=0,t.render=function(e){o(),f()},t._init=function(){a(),r(t._entities).find("."+u.count).length>0&&t.fire("getsharecount")},t.setNumber=function(e,n){r(t._entities).find("."+u.count).html(n).attr("title","\u7d2f\u8ba1\u5206\u4eab"+e+"\u6b21")}},o.ViewBase)}); -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/component/pop_base.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("component/pop_base",function(e,t,n){var r=e("base/tangram").T,i=e("conf/const"),s=e("base/class").Class;t.PopBase=s.create(function(t){function s(e){r(e).click(function(e){e=r.event(e||window.event);var t=o(e.target);t&&(e.preventDefault(),n.fire("clickact",{cmd:r(t).attr(n._actBtnSet.cmdAttr),element:t,event:e,buttonType:n._poptype}))}).mouseover(function(e){var t=o(e.target);n.fire("mouseenter",{element:t,event:e}),r(t).attr("data-cmd")=="more"&&n.fire("moreover",{element:t,event:e})})}function o(e){if(u(e))return e;if(n._actBtnSet.maxDomDepth>0){var t=n._actBtnSet.maxDomDepth,i=0,s=r(e).parent().get(0),o=n.entities;while(i list = newsRepository.findAll(); 39 | for(News news:list){ 40 | news.setUrlKey(Md5Util.getMD5String(news.getUrl())); 41 | // newsRepository.save(news); 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/share/api_base.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("share/api_base",function(e,t,n){var r=e("base/tangram").T,i=e("base/class").Class;t.ApiBase=i.create(function(e){function s(e){window._bd_share_main.F.use("component/anticheat",function(t){t.process("mouseenter",e.event,e.element)}),t._processEvent(e)}function o(n){window._bd_share_main.F.use("component/anticheat",function(e){e.process("mouseclick",n.event,n.element)});var i=t._processAction(n);if(i&&i.data)if(n.cmd=="more"||n.cmd=="count")window._bd_share_main.F.use("component/pop_dialog",function(t){var r=t.Dialog;r.un(),r.on("clickact",o),r.on("mouseenter",s),r.show(n,e)});else if(n.cmd=="popup")u(n);else{var a;r.type(e.onBeforeClick)=="function"&&(a=r.extend({},e),a=e.onBeforeClick(n.cmd,a));var f=r.extend({},e,a,{__type:i.data.type,__buttonType:n.buttonType,__cmd:n.cmd,__element:n.element});window._bd_share_main.F.use("trans/trans",function(e){e.run(f)}),r.type(e.onAfterClick)=="function"&&e.onAfterClick(n.cmd)}}function u(t){window._bd_share_main.F.use("component/pop_popup",function(n){var r=n.Popup;r.un(),r.on("clickact",o),r.on("mouseenter",s),r.show(t,e)})}var t=this,n=null,i=null;t.getView=function(){return n},t.setView=function(e){n=e},t.init=function(){t._init(),n&&(n.on("clickact",o),n.on("mouseenter",s),n.on("moreover",u))},t.distory=function(){t._distory(),n&&(n.un(),n.distory()),delete t},t._init=function(){},t._distory=function(){},t._processEvent=function(e){},t._processAction=function(e){}})}); -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/interceptor/WebInterceptor.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.interceptor; 2 | 3 | import cn.enilu.website.blog.controller.BaseController; 4 | import cn.enilu.website.blog.dao.CollectorRepository; 5 | import cn.enilu.website.blog.service.NewsService; 6 | import org.aspectj.lang.ProceedingJoinPoint; 7 | import org.aspectj.lang.annotation.Around; 8 | import org.aspectj.lang.annotation.Aspect; 9 | import org.aspectj.lang.annotation.Pointcut; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.stereotype.Component; 12 | 13 | import javax.servlet.http.HttpServletRequest; 14 | 15 | /** 16 | * WebInterceptor 17 | * version 2018/7/26 0026 18 | * 19 | * @author enilu 20 | */ 21 | @Aspect 22 | @Component 23 | public class WebInterceptor extends BaseController { 24 | @Autowired 25 | private NewsService newsService; 26 | @Autowired 27 | private CollectorRepository collectorRepository; 28 | 29 | @Pointcut("execution(* cn.enilu.website.blog.controller.*.*(..))") 30 | public void cutService() { 31 | } 32 | @Around("cutService()") 33 | public Object prepareData(ProceedingJoinPoint point)throws Throwable{ 34 | HttpServletRequest request = super.getHttpServletRequest(); 35 | request.setAttribute("categories",newsService.getCategories()); 36 | request.setAttribute("authors",collectorRepository.findAllByState(true)); 37 | return point.proceed(); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/java/cn/enilu/website/mergepdf/controller/FileController.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.mergepdf.controller; 2 | 3 | 4 | import org.slf4j.Logger; 5 | import org.slf4j.LoggerFactory; 6 | import org.springframework.beans.factory.annotation.Value; 7 | import org.springframework.stereotype.Controller; 8 | import org.springframework.web.bind.annotation.RequestMapping; 9 | import org.springframework.web.bind.annotation.RequestParam; 10 | 11 | import javax.servlet.http.HttpServletResponse; 12 | 13 | /** 14 | * Created on 2018/7/10 0010 15 | * UploadController 16 | * 17 | * @author enilu 18 | */ 19 | @Controller 20 | @RequestMapping("/") 21 | public class FileController extends BaseController { 22 | private Logger logger = LoggerFactory.getLogger(FileController.class); 23 | 24 | @Value("${website.upload.dir}") 25 | private String uploadDir; 26 | 27 | 28 | 29 | @RequestMapping(value = "/download") 30 | 31 | public void download(@RequestParam("fileName") String uuid, 32 | @RequestParam("downloadName") String downloadName, 33 | HttpServletResponse resp) { 34 | try { 35 | String filePath = uploadDir + uuid; 36 | if(!uuid.endsWith(".pdf")){ 37 | filePath += ".pdf"; 38 | } 39 | 40 | downloadFile(downloadName, filePath); 41 | } catch (Exception e) { 42 | logger.error("download file error:{}", e.getMessage(), e); 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /merge-pdf-online/src/main/java/cn/enilu/website/mergepdf/WebsiteBootApplication.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.mergepdf; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | import org.springframework.boot.context.event.ApplicationReadyEvent; 8 | import org.springframework.boot.web.support.SpringBootServletInitializer; 9 | import org.springframework.cache.annotation.EnableCaching; 10 | import org.springframework.context.event.EventListener; 11 | import org.springframework.stereotype.Controller; 12 | import org.springframework.ui.Model; 13 | import org.springframework.web.bind.annotation.RequestMapping; 14 | 15 | 16 | /** 17 | * Created on 2018/7/16 0016 18 | * WebsiteBootApplication 19 | * 20 | * @author enilu 21 | */ 22 | @SpringBootApplication 23 | @Controller 24 | @EnableCaching 25 | public class WebsiteBootApplication extends SpringBootServletInitializer { 26 | private static final Logger log = LoggerFactory.getLogger(WebsiteBootApplication.class); 27 | 28 | 29 | public static void main(String[] args) { 30 | SpringApplication.run(WebsiteBootApplication.class, args); 31 | } 32 | 33 | @RequestMapping("/") 34 | public String toIndex(Model model) { 35 | return "index"; 36 | } 37 | 38 | @EventListener(ApplicationReadyEvent.class) 39 | public void doSomethingAfterStartup() { 40 | log.info("application in http://localhost:port"); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/templates/pdf_split_download.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 |
19 |
20 | 21 |

23 | 24 | 25 |

26 |
27 |
28 | 29 |
30 |
31 | 32 |
33 |
34 |
35 | 36 | 37 | 38 | 39 | 40 | 41 | ​ 42 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/java/cn/enilu/website/mergepdf/interceptor/LanguageInterceptor.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.mergepdf.interceptor; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.context.i18n.LocaleContextHolder; 6 | import org.springframework.stereotype.Component; 7 | import org.springframework.web.servlet.HandlerInterceptor; 8 | import org.springframework.web.servlet.ModelAndView; 9 | 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.util.Locale; 13 | 14 | /** 15 | * Created on 2018/7/16 0016 16 | * LanguageInterceptor 17 | * 18 | * @author enilu 19 | */ 20 | @Component 21 | public class LanguageInterceptor implements HandlerInterceptor { 22 | private Logger logger = LoggerFactory.getLogger(LanguageInterceptor.class); 23 | @Override 24 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception { 25 | return true; 26 | } 27 | 28 | @Override 29 | public void postHandle(HttpServletRequest request, HttpServletResponse response, Object o, ModelAndView modelAndView) throws Exception { 30 | Locale locale= LocaleContextHolder.getLocale(); 31 | logger.info("client language:{}",locale.getLanguage()); 32 | request.setAttribute("lang",locale.getLanguage()); 33 | } 34 | 35 | @Override 36 | public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object o, Exception e) throws Exception { 37 | 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/view/view_base.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("view/view_base",function(e,t,n){var r=e("base/tangram").T,i=e("conf/const"),s=e("base/class").Class;t.ViewBase=s.create(function(e){function s(e){r(e).click(function(i){if(r(e).attr("data-bd-bind")==n){var s=o(i.target);s&&(i.preventDefault(),t.fire("clickact",{cmd:r(s).attr(t._actBtnSet.cmdAttr),element:s,event:i,buttonType:t._poptype}))}}).mouseenter(function(i){if(r(e).attr("data-bd-bind")==n){var s=o(i.target);t.fire("mouseenter",{element:s,event:i})}}).mousemove(function(i){if(r(e).attr("data-bd-bind")==n){var s=o(i.target);r(s).hasClass("bds_more")&&t.fire("moreover",{element:s})}}),r(e).attr("data-bd-bind",n)}function o(e){if(u(e))return e;if(t._actBtnSet.maxDomDepth>0){var n=t._actBtnSet.maxDomDepth,i=0,s=r(e).parent().get(0),o=t.entities;while(i-1)&&r(e).attr(n.cmdAttr):!1}var t=this,n=+(new Date);t._entities=[],t._buttonType=-1,t._actBtnSet={className:"",tagName:"|a|img|span",maxDomDepth:0,cmdAttr:i.CMD_ATTR},t.render=function(e){},t.init=function(){r(t._entities).each(function(e,t){s(t)}),t._init(),t._entities.length>0&&(_bd_share_main._LogPoolV2==_bd_share_main._LogPoolV2||[],_bd_share_main._LogPoolV2.push(e.type))},t._init=function(){},t.distory=function(){r(t._entities).removeAttr("data-bd-bind"),t._distory()},t._distory=function(){}})}); -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/entity/News.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.entity; 2 | 3 | import lombok.Data; 4 | import org.hibernate.annotations.CreationTimestamp; 5 | import org.hibernate.annotations.UpdateTimestamp; 6 | 7 | import javax.persistence.*; 8 | import java.util.Date; 9 | 10 | /** 11 | * Created on 2018/7/18 0018 12 | * News 13 | * 14 | * @author enilu 15 | */ 16 | @Data 17 | @Entity 18 | @Table(name = "news", 19 | indexes = { 20 | @Index(name="idx_category", columnList = "category") 21 | } 22 | ) 23 | public class News { 24 | @Id 25 | private String id; 26 | 27 | @CreationTimestamp 28 | @Column(name = "create_time",columnDefinition="DATETIME COMMENT '创建时间/注册时间'") 29 | private Date createTime; 30 | 31 | @Column(name = "create_by",columnDefinition="bigint COMMENT '创建人'") 32 | private Long createBy; 33 | 34 | @UpdateTimestamp 35 | @Column(name = "modify_time",columnDefinition="DATETIME COMMENT '最后更新时间'") 36 | private Date modifyTime; 37 | 38 | @Column(name = "modify_by",columnDefinition="bigint COMMENT '最后更新人'") 39 | private Long modifyBy; 40 | private String title; 41 | private String url; 42 | private String author; 43 | private String category; 44 | private String tag; 45 | private Integer pv; 46 | private String summ; 47 | private Date publishDate; 48 | private String urlKey; 49 | private String content; 50 | @Transient 51 | private Collector collector; 52 | public News(){} 53 | public News(String title,String summ){ 54 | this.title = title; 55 | this.summ = summ; 56 | } 57 | 58 | 59 | 60 | } 61 | -------------------------------------------------------------------------------- /blog/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | itblog.enilu.cn 6 | 7 | 8 | 9 | 10 | %d{yyyy-M-d HH:mm:ss} [%thread] %p [%logger{0}]:%L %msg%n 11 | UTF-8 12 | 13 | 14 | 15 | 16 | 17 | 18 | /data/blog/log/blog_%d{yyyy-MM-dd}.log 19 | 1000 20 | 21 | 22 | %d{yyyy-M-d HH:mm:ss} [%thread] %p [%logger{0}]:%L %msg%n 23 | UTF-8 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 512 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/templates/common/menu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |
6 |
7 |
8 | 13 |
14 | 15 |
16 |
17 |
18 | 29 |
30 |
31 |
32 |
33 |
34 | 35 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 - 2018, Kartik Visweswaran 2 | Krajee.com 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without modification, 6 | are permitted provided that the following conditions are met: 7 | 8 | * Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | * Redistributions in binary form must reproduce the above copyright notice, this 12 | list of conditions and the following disclaimer in the documentation and/or 13 | other materials provided with the distribution. 14 | 15 | * Neither the names of Kartik Visweswaran or Krajee nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 20 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 21 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 23 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 26 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /utils/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | website 7 | cn.enilu 8 | 1.0 9 | 10 | 4.0.0 11 | 12 | website-utils 13 | 14 | 15 | 16 | cn.enilu 17 | website-bean 18 | 1.0 19 | 20 | 21 | com.google.guava 22 | guava 23 | 24 | 25 | org.apache.commons 26 | commons-lang3 27 | 28 | 29 | org.springframework.boot 30 | spring-boot-starter-web 31 | 32 | 33 | org.springframework.boot 34 | spring-boot-starter-mail 35 | 36 | 37 | 38 | org.apache.commons 39 | commons-lang3 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/service/TagService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog.service; 2 | 3 | import cn.enilu.website.blog.cache.TimeCacheMap; 4 | import cn.enilu.website.blog.dao.TagRepository; 5 | import cn.enilu.website.blog.entity.Tag; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.math.BigInteger; 10 | import java.util.ArrayList; 11 | import java.util.List; 12 | 13 | /** 14 | * Created on 2018/7/23 0023 15 | * TagService 16 | * 17 | * @author enilu 18 | */ 19 | @Service 20 | public class TagService { 21 | public static TimeCacheMap cacheTag = new TimeCacheMap(3600, 2); 22 | public static final String HOST_TAG = "hot_tag"; 23 | public static final String ALL_TAG = "all_tag"; 24 | @Autowired 25 | private TagRepository tagRepository; 26 | public List findAll(){ 27 | List list = (List) cacheTag.get(ALL_TAG); 28 | if(list==null) { 29 | list = tagRepository.findAllByOrderByTagAsc(); 30 | cacheTag.put(ALL_TAG,list); 31 | } 32 | return list; 33 | } 34 | public List findHotTag(){ 35 | List list = (List) cacheTag.get(HOST_TAG); 36 | if(list==null) { 37 | List idList = tagRepository.findHotTag(); 38 | List idList2 = new ArrayList(20); 39 | for (int i = 0; i < idList.size(); i++) { 40 | idList2.add(((BigInteger) idList.get(i)).longValue()); 41 | } 42 | list = tagRepository.findAllByIdIn(idList2); 43 | cacheTag.put(HOST_TAG,list); 44 | } 45 | return list; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/component/pop_popup_slide.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("component/pop_popup_slide",function(e,t){var n=e("base/tangram").T,r=e("base/class").Class,i=e("conf/const"),s=e("component/pop_base"),o={btn:""},u,a,f,l,c=r.create(function(){function t(e){var t=n(e).offset(),r=t.top+n(e).height()+5,i=t.left,s=a.outerHeight();return r+s>n("body").height()&&r+s>n(window).height()&&(r=t.top-s-5,r=r<0?0:r),{top:r,left:i}}function r(t,r){var i=r.mini||2,s=r.miniList||e._partnerSort.slice(0,8*i),o=[];n.each(s,function(t,n){if(!/(iPhone | iPad | Android)/i.test(navigator.userAgent)||n!=="weixin")o[t]='
  • '+e._partners[n].name+"
  • "}),l.html(o.join("")),a.width(i*110+6),f.width(i*110+6)}var e=this;e._hide=function(){f&&f.hide(),a&&a.hide()},e._show=function(i,s){r(e._container,s);var o=t(i.element);n.each([a,f],function(e,t){t.css({top:o.top,left:o.left}).show()}),n(i.element).one("mouseout",function(){var t=!1;a.one("mouseover",function(){t=!0}),setTimeout(function(){!t&&e.hide()},300)})},e._init=function(){var t=[''].join(""),r=['"].join("");n("body").insertHTML("beforeEnd",t+r),e._container=n(".bdshare_popup_box"),a=n(".bdshare_popup_box"),l=n(".bdshare_popup_list"),f=n(".bdshare_popup_bg"),a.mouseleave(e.hide)}},s.PopBase);t.Popup=function(){return u||(u=new c,u.init()),u}()}); -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/component/pop_dialog.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("component/pop_dialog",function(e,t){var n=e("base/tangram").T,r=e("base/class").Class,i=e("conf/const"),s=e("component/pop_base"),o={btn:""},u,a,f,l=r.create(function(){function t(t){t.keyCode==27&&e.hide()}function r(){var e=n.browser.ie==6?n(window).scrollTop():0,t=a.outerWidth(),r=a.outerHeight(),i=n(window).width(),s=n(window).height(),o=(s-r)/2+e,u=(i-t)/2;return{top:o>0?o:0,left:u>0?u:0}}function i(t,r){var i=n.extend({},e._partnerSort,r.bdDialogPartners),s=[];n.each(i,function(t,n){s[t]='
  • '+e._partners[n].name+"
  • "}),e._container.html(s.join(""))}var e=this;e._poptype=2,e._hide=function(){f&&f.hide(),a&&a.hide(),n("body").unbind("keydown",t)},e._show=function(s,o){i(e._container,o);var u=r();n.each([a,f],function(e,t){t.css({top:u.top,left:u.left}).show()}),n("body").bind("keydown",t),window._bd_share_main.F.use("trans/logger",function(e){e.dialog()})},e._init=function(){var t=[''].join(""),r=['"].join("");n("body").insertHTML("beforeEnd",t+r),e._container=n(".bdshare_dialog_list"),a=n(".bdshare_dialog_box"),f=n(".bdshare_dialog_bg"),n(".bdshare_dialog_close").click(e.hide)}},s.PopBase);t.Dialog=function(){return u||(u=new l,u.init()),u}()}); -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/themes/fa/theme.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * bootstrap-fileinput v4.4.8 3 | * http://plugins.krajee.com/file-input 4 | * 5 | * Font Awesome icon theme configuration for bootstrap-fileinput. Requires font awesome assets to be loaded. 6 | * 7 | * Author: Kartik Visweswaran 8 | * Copyright: 2014 - 2018, Kartik Visweswaran, Krajee.com 9 | * 10 | * Licensed under the BSD 3-Clause 11 | * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md 12 | */!function(a){"use strict";a.fn.fileinputThemes.fa={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}}(window.jQuery); -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/themes/fas/theme.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * bootstrap-fileinput v4.4.8 3 | * http://plugins.krajee.com/file-input 4 | * 5 | * Font Awesome 5 icon theme configuration for bootstrap-fileinput. Requires font awesome 5 assets to be loaded. 6 | * 7 | * Author: Kartik Visweswaran 8 | * Copyright: 2014 - 2018, Kartik Visweswaran, Krajee.com 9 | * 10 | * Licensed under the BSD 3-Clause 11 | * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md 12 | */!function(a){"use strict";a.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}}(window.jQuery); 13 | -------------------------------------------------------------------------------- /merge-pdf-online/src/main/resources/static/plugins/bootstrap-fileinput/4.4.8/css/fileinput-rtl.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * bootstrap-fileinput v4.4.8 3 | * http://plugins.krajee.com/file-input 4 | * 5 | * Krajee RTL (Right To Left) default styling for bootstrap-fileinput. 6 | * 7 | * Author: Kartik Visweswaran 8 | * Copyright: 2014 - 2018, Kartik Visweswaran, Krajee.com 9 | * 10 | * Licensed under the BSD 3-Clause 11 | * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md 12 | */.kv-rtl .close,.kv-rtl .krajee-default .file-actions,.kv-rtl .krajee-default .file-other-error{float:left}.kv-rtl .krajee-default .file-drag-handle,.kv-rtl .krajee-default .file-upload-indicator,.kv-rtl .krajee-default.file-preview-frame{float:right}.kv-rtl .file-error-message pre,.kv-rtl .file-error-message ul,.kv-rtl .file-zoom-dialog{text-align:right}.kv-rtl{direction:rtl}.kv-rtl .floating-buttons{left:10px;right:auto}.kv-rtl .floating-buttons .btn-kv{margin-left:0;margin-right:3px}.kv-rtl .file-caption-icon{left:auto;right:8px}.kv-rtl .file-drop-zone{margin:12px 12px 12px 15px}.kv-rtl .btn-prev{right:1px;left:auto}.kv-rtl .btn-next{left:1px;right:auto}.kv-rtl .float-right,.kv-rtl .pull-right{float:left!important}.kv-rtl .float-left,.kv-rtl .pull-left{float:right!important}.kv-rtl .kv-zoom-title{direction:ltr}.kv-rtl .krajee-default.file-preview-frame{box-shadow:-1px 1px 5px 0 #a2958a}.kv-rtl .krajee-default.file-preview-frame:not(.file-preview-error):hover{box-shadow:-3px 3px 5px 0 #333}.kv-rtl .kv-zoom-actions .btn-kv{margin-left:0;margin-right:3px}.kv-rtl .file-caption.icon-visible .file-caption-name{padding-left:0;padding-right:15px}.kv-rtl .input-group-btn:last-child>.btn{border-radius:4px 0 0 4px}.kv-rtl .input-group .form-control:first-child{border-radius:0 4px 4px 0}.kv-rtl .btn-file input[type=file]{right:auto;left:0;text-align:left;background:100% 0 none} -------------------------------------------------------------------------------- /blog/src/main/java/cn/enilu/website/blog/BlogApplication.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.website.blog; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | import org.springframework.boot.autoconfigure.domain.EntityScan; 8 | import org.springframework.boot.context.event.ApplicationReadyEvent; 9 | import org.springframework.boot.web.servlet.ServletComponentScan; 10 | import org.springframework.boot.web.support.SpringBootServletInitializer; 11 | import org.springframework.cache.annotation.EnableCaching; 12 | import org.springframework.context.annotation.Configuration; 13 | import org.springframework.context.event.EventListener; 14 | import org.springframework.data.jpa.repository.config.EnableJpaRepositories; 15 | import org.springframework.scheduling.annotation.EnableScheduling; 16 | 17 | 18 | /** 19 | * Created on 2018/7/16 0016 20 | * WebsiteBootApplication 21 | * 22 | * @author enilu 23 | */ 24 | 25 | @Configuration 26 | @SpringBootApplication 27 | //@EnableAutoConfiguration 28 | //@ComponentScan(basePackages = "cn.enilu.website.blog") 29 | @EntityScan(basePackages="cn.enilu.website.blog.entity") 30 | @EnableJpaRepositories(basePackages= "cn.enilu.website.blog.dao") 31 | @ServletComponentScan 32 | @EnableScheduling 33 | @EnableCaching 34 | public class BlogApplication extends SpringBootServletInitializer { 35 | private static final Logger log = LoggerFactory.getLogger(BlogApplication.class); 36 | 37 | 38 | public static void main(String[] args) { 39 | SpringApplication.run(BlogApplication.class, args); 40 | } 41 | 42 | 43 | @EventListener(ApplicationReadyEvent.class) 44 | public void doSomethingAfterStartup() { 45 | log.info("application in http://localhost:8081 when in dev profile"); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /blog/src/main/resources/static/static/api/js/component/pop_popup.js: -------------------------------------------------------------------------------- 1 | window._bd_share_main.F.module("component/pop_popup",function(e,t){var n=e("base/tangram").T,r=e("base/class").Class,i=e("conf/const"),s=e("component/pop_base"),o={btn:""},u,a,f,l,c=r.create(function(){function t(t,r){var i=r.bdMini||2,s=r.bdMiniList||e._partnerSort.slice(0,8*i),o=[];n.each(s,function(t,n){o[t]='
  • '+e._partners[n].name+"
  • "}),l.html(o.join("")),a.width(i*110+6),f.height(a.outerHeight()),f.width(a.outerWidth())}var e=this;e._poptype=1,e._hide=function(){f&&f.hide(),a&&a.hide()},e._show=function(r,i){t(e._container,i);var s=e._getPosition(r.element,i);n.each([a,f],function(e,t){t.css({top:s.top,left:s.left}).show()}),n(r.element).one("mouseout",function(){var t=!1;a.one("mouseover",function(){t=!0}),setTimeout(function(){!t&&e.hide()},300)})},e._getPosition=function(e,t){var r=n(e).offset(),i=r.top+n(e).height()+5,s=r.left,o=a.outerHeight(),u=n(window).scrollTop();if(i+o>n("body").height()&&i+o>n(window).height()||i+o>u+n(window).height())i=r.top-o-5,i=i