A point I want to make is that not all code hosted by repos have to be full sized repos, some are just gists and some are just links to directories with the code stored in the subdirectories.
By all means have the zipped project here on this forum, but a link to the hosting website could be added as well. If the link rots, the zip file is still here, and if lucky the internet archive may have the link directories if they are plain text, HTML, including the zips.
Another option is shallow clones or clones of a specific commit. These don't entail downloading the whole repo, just a specific commit or a specific branch.
In my case for instance every I have created an examples directory where I unzip the files to view them. This entails copying the link, opening a console, navigating to the examples directory, and using
git clone/wget/curl to download the file.
We could have custom protocols to automate the whole process.
It all boils down to making it convenient for the viewer to minimize the effort for the reason that not everyone has the means or time to go all the way to examine ones code unless they actually need it.
Take this
long running link by JPF12141999, I am positive that some of the errors could be caught by inspecting the code alone, without an interested party having to download 300Mb of Castle Engine libraries to see what could be wrong.
Languages developed in the post internet era have the jsfiddles, phpfiddles, sandboxes etc which allow quick examination and testing. FreePascal limits itself because the approach narrows the pools of individuals able to help to those with the time, ready prepared IDEs, and a willingness to dive in and compile code, when a simple code review on a gist or repo browser would probably catch the errors.
My opinion is that it is up to the person making the post to provide both the links and the zip files. They are the one making the request and they are one who needs to make the effort to broaden the pool of willing helpers.