Open-source CMS, available at https://github.com/jjYBdx4IL/misc/tree/master/cms-webapp
Features:
- Google Oauth2 authentication for user/admin login, no need to create a site-local admin account or force your users to create user accounts. Simply use an existing Google account for login and profit from Google’s extensive account security measures.
- client-side html generation (editor) using markdown, with live preview of html markup (using showdown)
- server-side html sanitization using OWASP HTML sanitizer
- AdBlock-blocker
- fast page delivery, no client-side javascript execution needed for first rendering step
- progressive page loading
- asset-loading on demand (scrolling into viewport)
- media file upload
- gallery
- semantic web through tags
- RSS feeds, global and on a tag basis
- cookie consent banner with configurable text and link to privacy policy tag (opt-out)
- integrated full-text search
- no-archive headers to prevent random internet bots to make their independent copies of your site
- running on a full JavaEE 7 stack, implemented by WildFly 11, on a 512 MB VM that costs 2 EUROs per month.
- everything (incl. configuration and media files/images!, except ssl keys/certs) is kept in one simple database file (atm H2).
- embedded SQL frontend (H2’s one), allows you to create snapshot backups by issuing the sql command
backup to 'backup.zip'
. Also allows for adjusting configuration settings in case something is broken since configuration is kept inside the database.
- easy integration of Google Analytics and AdSense: just paste the javascript codes into header or footer configuration entries.
- does not use any templating system at all. Instead we are using strongly typed, minified HTML generation provided by j2html.
- create your about, privacy policy and Impressum pages simply by tagging your corresponding posts accordingly.
- css grid (Simple Grid), makes the layout automatically adapt to different screen sizes (ie readability on mobile phones)
- Icons are loaded as a font and not individually (https://material.io/icons/)
- Minification of css and javascript.
- built on JAX-RS (RESTful) technology
- automated testing against the RESTful API
- embedding of https://www.youtube.com videos and pictures (dynamic loading when user scrolls them into his browser view), easily extensible to more
- export/import to/from XML (excluding media files)
- site map for submission to search engines
- database snapshot creation/download including all data (except SSL cert/key)
- Twitter share button
- CLI export function to dump/export articles into markdown files with frontmatter.
Contact me if you require assistance.