
Share a Document Folder with Readers
Table of Contents
- Start With What Readers Need to Do
- Option 1: Publish the Folder With GitHub Pages
- Option 2: Cloudflare Pages When the Folder Must Stay Private
- Option 3: Google Drive for Files People Will Comment On
- Option 4: A Tracked Review Packet With DocSend or Papermark
- Give Readers a Starting Point
- Where This Approach Fits
- Start With What Readers Need to Do
- Option 1: Publish the Folder With GitHub Pages
- Option 2: Cloudflare Pages When the Folder Must Stay Private
- Option 3: Google Drive for Files People Will Comment On
- Option 4: A Tracked Review Packet With DocSend or Papermark
- Give Readers a Starting Point
- Where This Approach Fits
Start With What Readers Need to Do
A folder of mixed documents is awkward to share. If you send it as a ZIP, readers must download and extract it. A plain file list in a cloud drive does not show which file to open first. It also does not run an HTML page as a page. The right way to share the folder depends on what readers will do with it.
| Readers need to | Use | Why |
|---|---|---|
| Browse and read, including HTML pages that must run | A static site on GitHub Pages or Cloudflare Pages | HTML opens as a live page, and GitHub Pages turns README.md into the home page |
| Comment on or edit the files | A shared Google Drive folder | Built for collaboration, with viewer, commenter and editor roles |
| Open a controlled review packet and let you see who viewed it | DocSend or Papermark | Per-link password, expiry and viewing activity |
The rest of this guide uses one example folder:
story-pitch/
README.md
presentation.html
illustrations/
01-cover.webp
02-characters.webp
...
14-ending.webp
README.md explains the project. presentation.html is a slide deck that a design tool exported or that an AI assistant wrote. illustrations/ holds the artwork.
Option 1: Publish the Folder With GitHub Pages
GitHub Pages fits a folder that anyone can read. It renders Markdown, runs HTML, and serves images. You do not have to set up a build.
- Create a repository on GitHub. On GitHub Free, a Pages site must come from a public repository. Also, GitHub notes that Pages sites are publicly available on the internet even when the repository is private.
- Upload the contents of the folder. Open the repository and select Add file > Upload files. Drag in the files and the
illustrationsfolder. Browser uploads take up to 100 files at a time and 25 MiB per file. - Go to Settings > Pages. Under Build and deployment, set Source to Deploy from a branch. Choose the
mainbranch and the/(root)folder. Select Save (publishing source guide). - When the first build finishes, the site appears at
https://<your-username>.github.io/<repository>/. The Pages settings screen shows the address.
Readers get these things:
- The README becomes the home page. GitHub Pages accepts
index.html,index.mdorREADME.mdas the entry file (the first page) at the top of the publishing folder. - Markdown files become web pages. Other
.mdfiles become.htmlpages at the same path. GitHub Pages turns on the jekyll-relative-links plugin by default. This plugin turns links between Markdown files into working links. - HTML files open as live pages.
presentation.htmlopens and runs like any web page, with its scripts and styles. - Images and other files get their own URLs, such as
.../illustrations/01-cover.webp.
Readers do not get a file list. GitHub Pages does not generate an index for a folder. So a link to illustrations/ shows a 404 if the folder has no index page. Write the navigation into the README instead:
# Story Pitch
Draft for review, updated 20 October. Feedback by 31 October, please.
- [Open the presentation](presentation.html)
- Illustrations:
- [Cover](illustrations/01-cover.webp)
- [Characters](illustrations/02-characters.webp)

Two details often cause problems. GitHub Pages builds the site with Jekyll. Jekyll skips files and folders whose names start with _, . or #. So rename any file or folder such as _notes/. Also, file names are case-sensitive online, so Cover.webp and cover.webp are different files.
To update the folder, commit new or changed files to the same branch. The address stays the same.
Option 2: Cloudflare Pages When the Folder Must Stay Private
If the folder is only for named people, use Cloudflare Pages with Cloudflare Access in front of it. Before Cloudflare serves any file, Access asks each reader for their email address and sends them a one-time code.
Cloudflare Pages serves uploaded files as they are. It does not convert Markdown into pages. At the root, add an index.html that introduces the folder and links to each document:
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>Story Pitch</title></head>
<body>
<h1>Story Pitch</h1>
<p>Draft for review. Feedback by 31 October, please.</p>
<ul>
<li><a href="presentation.html">Presentation</a></li>
<li><a href="illustrations/01-cover.webp">Cover illustration</a></li>
<li><a href="illustrations/02-characters.webp">Characters</a></li>
</ul>
</body>
</html>
For a long list, generate this file from the folder with an AI assistant or a short script. Then test the links.
Then publish and protect the site:
- In the Cloudflare dashboard, open Workers & Pages. Select Create application > Get started > Drag and drop your files. Name the project and upload the folder (direct upload guide).
- Set up Cloudflare Access with an email one-time PIN. Add an Allow policy that lists the addresses of your readers. The Pages Enable access policy toggle alone covers only preview deployments. To cover the main
pages.devaddress too, follow our Cloudflare Pages access guide. - Open the site in a private window with an approved address. Then try an unapproved address. Also try a direct image URL.
To update the site, open the project and select Create a new deployment. Then upload the whole folder again.
Option 3: Google Drive for Files People Will Comment On
If readers need to comment on or edit documents, a shared folder in Google Drive is the simpler tool. Share the folder with named people as Viewer, Commenter or Editor. Keep general access set to Restricted, so that only those people can open it.
Access that you give on a folder applies to every file inside it. You cannot give someone less access to one file than they have on its folder. Put material for a smaller group in a separate subfolder, and share that subfolder separately.
Drive previews documents, PDFs, and images, but it does not serve HTML files as working web pages. Google turned off web hosting from Drive in 2016. If the folder includes an interactive presentation, publish that part with Option 1 or 2. Then link to it.
Organize the folder around the review. Put the current documents first and the supporting material next. Put archived drafts in their own subfolder or outside the shared folder.
Option 4: A Tracked Review Packet With DocSend or Papermark
Use a document-sharing service for investor updates, sales proposals, or board packs. It fits when you want a password, an expiry date, and a record of who opened what.
DocSend Spaces share several files or a data room (a private document set for a deal) through one link. The Spaces link settings include a password, an expiration date, and a switch for downloads. The Advanced plans add email verification, and allow or block lists for specific addresses and domains.
Papermark data rooms hold files in folders and subfolders behind a shareable link, with password and expiry options. Its file type list shows that PDFs, images, and spreadsheets work on every plan. HTML and Markdown files need the Business plan.
Before you choose, test your actual files. A document viewer does not always run an interactive HTML presentation the way a browser does.
Give Readers a Starting Point
With every option, the first file that a reader opens must tell them these things:
- What the folder contains and which document to read first
- The date of this version
- What feedback you need, and by when
- Who to contact with questions
Then test the view of a reader. For a public site, use a private browser window. For Drive, DocSend, or Papermark, use a second account. Click every link in the index. When the review is over, decide if the files must stay available. If not, remove access.
Where This Approach Fits
The same pattern works for many folders that people produce every week:
- Client document packets
- Investor or board updates
- HTML reports generated by a script or an AI assistant
- Product presentations
- Research folders with notes and media
- Design review bundles
Keep the folder ordinary (Markdown, HTML, images, PDFs). Then choose the sharing method that matches the audience:
- A public site for open reading
- An access-controlled site for named readers
- A shared drive for collaboration
- A document-sharing service when you need per-link control
A docs portal with Ask AI
and support tickets
Connect a repository, or describe your product to start. Each docs site has search, Ask AI, an API console, an MCP server and support tickets.
- Publishes from GitHub on every push
- Works with Mintlify repositories
- API console from your OpenAPI file
- MCP server and llms.txt for AI agents
- Ask AI and support tickets
- Analytics for people and AI agents
Related Articles

Document Workflow Automation: Architecture Guide
Learn how to evaluate document workflow automation architecture, from OCR and approvals to audit logs, integrations, and secure sharing.

Can You Password-Protect a ChatGPT Shared Link?
ChatGPT shared links cannot use passwords. Learn how to revoke public links and securely share client deliverables with controlled access.

Data Room Checklist for Due Diligence
Build a secure, decision-ready data room with this checklist for corporate, financial, legal, IP, team, customer, and security records.