publishing websites on Freenet
Freenet is a mixnet which is being re-architected from the ground up. For a simple introduction, see this previous post
preamble
First, a disclaimer - if you're just looking for an easy way to publish a file, or a pastebin, check out the fnput app. It lets you simply publish a file, not to be modified, in a single click.
There is another app called Delta that is an easy way to publish a static website using Markdown to style your content.

Delta is very easy to use, with buttons for Edit, Save, etc. and requires only knowing or learning a few markdown tags. Or none, write some plain text and publish. Simple! For a completely random example, here is mine
So step one is to make sure you have fdev installed; it's the website publishing app. It's a Rust crate you can compile, but it also comes with standard Freenet installation. Try typing
fdev -V
in a terminal if unsure. Publishing this way is going to be done via the console, so if that's not your thing you can probably do what you're looking for using Delta, mentioned above.
Build a Freenet app proper if you need extensive server-side capability. The application structure is confusing to a traditional developer since it is a decentralized app, as opposed to a trad client-server architecture. This is beyond the scope of this quick blog post and still a topic I'm still wanting to learn.
how to use fdev
fdev allows you to publish a static website (HTML, Javascript, CSS) by compressing it into an archive, signing it with a private key, and storing it on the Freenet network. Since it is code that lives on the network, there are no server-side niceties like databases. For the geeks out there, the address for your contract is a hash of the compiled web assembly and the author's public key.
fdev website init <site-name>
This creates your keypair, and prints your website key/address to the console. It also stores that info in $HOME/.config/freenet/website-keys/<site-name>.toml
It is important to backup this key file because it is the only way you'll be able to update the website.
To publish your website, first be sure the initial page is index.html and does not point to external resources like CDNs and APIs. These are going to be blocked by the content security policy (CSP) Instead of linking out to Google fonts, for example, include the font file you use as a local file in the site directory structure. Secondly make sure to use relative paths. Otherwise, use this syntax in your links:
/v1/contract/web/<site-key>/<path>/<resource>
When you're ready to publish the website, use fdev like so:
fdev website publish <path-to-site> --key <site-name>
You should see the contract key and the URL for your just-published website:

modify your website
Use the same fdev program and the website update option, along with same path and key args, as shown here:

As mentioned earlier, updating your website is only possible if you have the private key that matches the public key used to publish the contract. That's just a fancy way to say don't lose the key.
To et a listing of the websites you've published using local keys:
fdev website list
A detailed explainer is located here on the freenet website, and if you want help - join the River Chat and ask!