A mobile-friendly PHP web app skeleton using HTMX, jQuery, plain CSS, and small file-based modules. It is intended as a reusable starting point for phone-first sites and simple application prototypes.
- PHP entry point with modular pages in
mod/*.php - HTMX navigation with normal links as a fallback
- jQuery-based menu interactions for older mobile browser support
- Two always-present panels for dynamic mode switching
- Responsive dark theme for phones, tablets, and desktops
- Placeholder account, settings, support, policy, and action pages
- No database layer and no framework assumptions
- PHP 7.x or newer
- Apache, Nginx, or another web server that can serve PHP
- Optional Apache
.htaccesssupport for the included hardening rules
- Clone or copy this repository into a web-visible directory.
- Confirm PHP requests are handled by your web server.
- Open
/index.phpin a browser. - Edit
index.php,mbstyle.css,mobiskel.js, and the modules undermod/. - Replace the placeholder artwork, text, terms, privacy policy, and forms for your project.
See docs/SETUP.md for a slightly more detailed setup checklist.
The default layout includes two persistent panels:
Panel 1for the primary app surfacePanel 2for secondary/detail content
The panels switch instantly with mobiskel_show_pane('panel1') and
mobiskel_show_pane('panel2'). Each panel can also be repainted with HTMX when
fresh server-rendered content is needed. See docs/PANES.md.
Each page is selected with the frm query parameter. For example:
index.php?frm=contactus
That loads:
mod/contactus.php
The module should define a matching function:
function contactus() {
print "<h2>Contact Us</h2>";
} // end func contactusKeep new modules generic until a downstream project is ready to add its own database, authentication, API, or template layer.
home,aboutus,contactusaction1,action2settings,accountsettingslogin,logout,yourprofile,editpicturesupport,help,termsconditions,privacypolicy,license
.
|-- index.php
|-- mbstyle.css
|-- mobiskel.js
|-- cfg/
|-- mod/
| |-- home.php
| |-- panel2.php
| |-- settings.php
| `-- ...
|-- tests/
|-- docs/
`-- img/
This repository should stay safe to reuse publicly.
Do not commit:
.envfiles- real API keys, OAuth secrets, or access tokens
- private hostnames, emails, names, addresses, or client data
- production logs, uploads, media libraries, database dumps, or cache files
- app-specific documentation copied from a private project
Use .env.example for placeholder configuration names only. See
docs/SECURITY.md for the skeleton hardening checklist.
Run PHP syntax checks before committing PHP changes:
php -l index.php
for phpfile in mod/*.php tests/*.php; do php -l "$phpfile" || exit 1; doneIf PHPUnit is installed for your environment, the included input-cleaning test can be used as a small smoke test.
