From FSBrowser.ino example to esp-fs-webserver Arduino library
When you need a webserver running on ESP32 or ESP8266 device, FSBrowser.ino - ESP8266 or FSBrowser.ino - ESP32 are the best examples as start point because you can simply put your webserver HTML/CSS/JavaScript source files in the flash memory of device (for example with filesystem-type dedicated plugins like Arduino ESP8266 LittleFS Filesystem Uploader or Arduino ESP32 filesystem uploader) or in an external SD.
Unfortunately are a little complex examples for a novice due to a lot of handling functions "under the cover". This library makes it easier by incorporating this functions into a specific class and more, it adds some convenience functionality like WiFi / Custom Options manager.
Note: Starting from version 2.0.0 ESP32 core for Aruino introduced the LittlsFS library like ESP8266. The examples in this library is written to work with this for both platform by default. Change according to your needs if you prefer other filesystems.
Thanks to the built-in /edit page (enabled by default), is possible upload, delete and edit the HTML/CSS/JavaScript source files directly from browser and immediately displaying the changes introduced at runtime without having to recompile the device firmware.
I've added also another built-in page /setup, also enabled by default, with which it is possible to set the WiFi credentials and other freely configurable parameters.