JPress는 JFinal을 사용하여 개발된 wordpress의 Java 대체품입니다. 템플릿, 플러그인 등 WordPress와 유사한 거의 모든 기능을 지원합니다. 동시에 템플릿 측면에서 JPress는 템플릿 제작자가 비즈니스 모델을 유연하게 생성할 수 있도록 하고 위젯과 같은 복잡한 기능을 제거하며 WordPress보다 유연하고 간결한 "모델로서의 템플릿" 개념을 제시합니다. 템플릿 및 플러그인 제작.
그러나 JPress는 WordPress의 Java가 아니며 WeChat 공개 플랫폼과 자연스럽게 통합되어 많은 국내 클라우드 플랫폼, SMS 전송 및 이메일 전송 플랫폼을 통합합니다. WordPress에서는 원래의 "모델로서의 템플릿" 개념을 사용할 수 없습니다. 숙련된 WordPress 플레이어만이 내부의 미묘한 관계를 이해할 수 있습니다. 동시에 WeChat 기사 동기화, QQ 공개 플랫폼, Toutiao, Yidian 및 기타 새로운 미디어의 기사 동기화 기능이 추가되어 더욱 국내화되고 현지화될 것입니다.
기능성면에서
백그라운드 기능이 아닌 템플릿을 통해 정의되는 사용자 정의 모델을 지원합니다. 동시에 모델 콘텐츠는 사용자 정의 카테고리를 지원합니다. 예를 들어 기사 모델은 주제, 카테고리, 태그 및 기타 카테고리를 지원합니다.
여러 템플릿 엔진을 지원합니다. 기본적으로 Freemarker가 사용됩니다. 템플릿 제작자는 렌더링을 위해 thymeleaf와 같은 다른 엔진을 사용할 수도 있습니다. 또한 백그라운드에서 템플릿의 온라인 편집도 지원합니다(현재는 freemarker 엔진만 지원됩니다).
여러 데이터베이스 유형을 지원하고 다양한 데이터베이스를 구성할 수 있습니다(현재는 mysql만 지원됨).
다중 편집기를 지원하고 배경 시각적 편집과 마크다운 편집 간 자유로운 전환이 가능하며 온라인 이미지 편집, 코드 강조 표시 등의 기능을 기본으로 지원합니다.
플러그인을 지원하며 단 몇 줄의 코드만으로 플러그인 개발을 완료할 수 있습니다. git.oschina.net 및 github에는 이미 플러그인의 helloworld 인스턴스가 있습니다.
사용자 정의 URL 및 웹사이트 콘텐츠 URL 스타일 사용자 정의를 지원합니다.
API 지원을 통해 APP 또는 기타 제3자가 데이터를 호출할 수 있습니다.
국제화 지원, JPress를 사용하여 모든 언어로 웹사이트를 쉽게 만들 수 있습니다.
미니멀한 SEO 기능으로 기사별, 카테고리별, 태그별 SEO를 별도로 설정할 수 있으며, 사이트맵 출력을 지원합니다.
사용자 등록은 이메일 및 SMS 확인을 지원합니다. 현재 SMS 서비스 제공업체는 Alibaba Dayu만 지원합니다.
Qiniu, Alibaba Cloud, Youpai Cloud 등을 포함한 CDN 설정을 지원합니다.
업로드된 이미지는 워터마크 설정을 지원하며, 업로드된 이미지는 템플릿에 필요한 다양한 이미지 크기로 자동으로 절단되어 이미지 표시가 늘어나지 않도록 합니다.
사용자 로그인은 타사 로그인을 지원하며, QQ, WeChat, Weibo, Open Source China, Github, Facebook, Twitter, LinkedIn을 지원합니다. (현재 QQ, WeChat, Weibo, Open Source China, Github 로그인만 완료되었습니다.)
위챗에서
WeChat 메뉴 설정을 지원합니다.
키워드 및 답글 내용을 추가하여 자동 답장을 지원합니다.
사용자가 주의를 기울일 때, 다중 고객 서비스에 들어갈 때, 다중 고객 서비스에서 나갈 때, 사진을 보낼 때, 음성을 보낼 때, 비디오를 보낼 때, 위치를 보낼 때, 연결을 보낼 때, 사용자가 스캔할 때 등 기본 응답을 지원합니다. 사용자가 흔들면 매개변수가 포함된 QR 코드입니다.
모든 자동 회신 또는 기본 회신은 기사 회신, URL 회신과 같은 "고급 회신" 기능을 지원합니다. 고급 회신은 JPress에 내장된 특별 회신이지만 완전히 구성 가능하며 더 많은 "고급 회신"이 지원됩니다. 향후 기능에 추가되었습니다.
자동 응답 또는 기본 응답은 플러그인 응답을 지원하며 JPress 플러그인을 호출하여 응답을 완료합니다.
기사 검색을 지원합니다. 키워드에 응답하면 키워드와 일치하는 기사가 반환됩니다.
향후에는 기사 동기화나 위챗 가져오기 등 실용적인 기능도 지원될 예정이다.
기술적인 면에서는
JFinal을 핵심으로 자랑스럽게 사용하는 JPress는 JFinal의 유연한 아키텍처의 이점도 누리고 있습니다. JFinal 프레임워크 오픈 소스 시스템에서 JPress는 각 로직 라인의 구현과 각 코드 라인의 품질에 주의를 기울입니다. 이는 JFinal의 모범 사례 중 하나이므로 반드시 읽어야 할 항목이기도 합니다. 모든 JFinaler에 대해.
Freemarker와 thymeleaf를 템플릿 엔진으로 사용하세요. JPress에 내장된 고유한 캐시는 UI 렌더링 속도를 템플릿 엔진과 독립적으로 만듭니다.
Tinymce는 비주얼 편집기로 사용되고 simplemde는 마크다운 편집기로 사용됩니다. 두 개는 백그라운드에서 자유롭게 전환할 수 있습니다.
파일 및 이미지 업로드를 위한 UI 플러그인은 Fine-uploader를 사용합니다.
프런트 엔드에서 JPress는 jquery, bootstrap, admin lte, Font-awesome, x-editable, fastclick, toastr, tag-editor, Pace, Layer 등을 사용합니다.
보안에 관해서는 XSS, CSRF, SQL 주입, 쿠키 보안 등에 대해 개인적으로 많은 노력을 하고 많은 일을 해왔지만, 함께 파헤치고 개선하려면 여전히 더 많은 사람들이 필요합니다. . 주제. (하지만 초보 친구라면 이러한 보안을 배우고 이해할 가치가 있겠죠?)
분산 배포를 지원하기 위해 JPress는 HttpSession을 다시 작성하고 ehcache를 사용하여 세션 기능을 구현합니다. 동시에 프로젝트는 쿠키에 크게 의존하므로 분산 아키텍처에 대한 부담이 없습니다.
JPress에는 다음과 같은 기능이 있습니다
1. 빛.
데이터 테이블 8개만큼 가볍지만 워드프레스의 거의 모든 기능을 구현할 수 있다. 종속 jar 패키지도 매우 가볍습니다. 현재 cos-26Dec2008.jar, druid-1.0.16.jar, ehcache-2.7.5.jar, fastjson-1.2.7.jar, freemarker-2.3.23만 있습니다. jar 및 javax.mail.jar、jfinal-2.2-bin-with-src.jar、jfinal -weixin-1.7-bin-with-src.jar, jsoup-1.8.3.jar, log4j-1.2.17.jar, mysql-connector-java-5.1.36.jar, slf4j-api-1.7.7.jar , slf4j-log4j12-1.7.7.jar, jetty-server-8.1.8.jar 이러한 14개 jar 패키지 중 jetty-server-8.1.8.jar은 필요하지 않으며 디버깅을 용이하게 하는 데에만 사용됩니다.
jar 패키지를 포함한 전체 프로젝트의 크기는 약 20MB입니다.
2. 빠르다.
페이지가 아무리 복잡해도 JPress는 거의 10밀리초 안에 응답합니다. 동시에 JPress는 Alibaba Cloud, Qiniu, Youpaiyun 및 기타 CDN을 가속으로 지원하며, 홍에 있는 서버라도 분산 배포 및 기타 기능을 지원합니다. Kong, 설명하려면 "fast"와만 사용할 수 있습니다.
3. 유연성.
JPress는 "모델로서의 템플릿" 개념을 제안합니다. 템플릿 제작자는 JPress를 사용하여 블로그, 뉴스 시스템, 포럼, Q&A 커뮤니티, 쇼핑몰 등을 구축할 수 있으며 유연한 플러그인 기능도 제공하므로 거의 모든 유형을 구축할 수 있습니다. 웹사이트의.
4. 국내.
중국산이기 때문에 중국인의 요구에 더 부합합니다. JPress는 자연스럽게 WeChat 공개 계정과 통합됩니다. JPress에는 Alibaba Big Fish의 SMS 전송 기능이 내장되어 있으며 앞으로는 QQ 메일함, 163 메일함 등을 메일 전송 서버로 지원합니다. 중국 국민의 요구에 더욱 부응하는 기타 기능을 추가할 수 있습니다.
가장 중요한 것은
JPress는 민간 계약을 사용하는 국내 "오픈 소스"제품과 동일한 수준이 아닌 가장 느슨한 LGPL 오픈 소스 계약을 사용합니다.
jpress v4.2.0 변경 로그
신규: 특정 시나리오에서 자동화된 테스트를 용이하게 하기 위해 백그라운드 확인 코드 스위치를 추가합니다.
신규: 0위안 퍼블리싱 제품을 지원합니다. 결제 금액이 0일 경우 @AlienJunX 덕분에 직접 결제가 성공합니다.
새로운 기능: 플러그인 설치 디렉토리를 사용자 정의하는 기능을 사용하면 플러그인 설치가 더 쉬워지고 대상 디렉토리를 컴파일하고 지울 때 플러그인을 계속 사용할 수 있습니다.
최적화 : 기사 모듈 개선 및 수집 기능 추가, 감사합니다 @ 고양이 겁먹게 하는 생쥐
최적화: 옵션 시스템 구성을 통해 빈 데이터를 전달하여 구성을 지울 수 있습니다.
최적화: 업로드할 기본 첨부 파일 크기를 조정합니다. 사진의 기본 크기는 10MB이고 기타 파일의 기본 크기는 100MB입니다.
최적화: Jboot, Log4j2 업그레이드
수정: 백그라운드에서 맞춤설정된 불법 키워드가 유효하지 않은 문제
수정: API를 통한 옵션 삭제가 시간 내에 적용되지 않을 수 있음
수정: 플러그인이 외부 jar에 의존하여 경우에 따라 설치가 불가능한 문제가 발생할 수 있습니다.
수정: WeChat H5 결제가 페이지에 성공적으로 반환된 후 500 오류가 발생합니다. @AlienJunX에게 감사드립니다.
수정: 기사에 첨부 파일을 삽입했는데 첨부 파일이 너무 큼 오류가 발생하면 페이지에 메시지가 표시되지 않습니다.
수정됨: CKEditor 편집기 이미지를 붙여넣고 업로드할 수 없습니다.