This is a short post adding to the testing notes from the previous post where I created an S3 bucket to host my static site. To test that it worked I had to upload something and ended up doing most of what I had intended for this blog post. If you're reading my adding SSL series but are only interested in the CloudFormation bits you can skip this post as it doesn't contain any.
For the tests in my previous post I relied on all .html
pages being
generated in the same base directory as their sources. But as I don't
intend to check in the generated files, I don't want to continue that!
Instead I want the generated files to end up in ~/public_html
on my
machine, so I can preview them. I intend to do much like what I do
now: cd
into the root directory containing the generated blog and
issue the command python -m SimpleHTTPServer
.
So, I have to change my publishing setup. For the processing of the
Org files I just have to change the :publishing-directory
setting from
~/blog
to ~/public_html
but I have to add a new project to deal with
static files. This project looks like so:
(setq org-publish-project-alist '(("superloopy_static" :base-directory "~/blog" :publishing-directory "~/public_html" :base-extension "css\\|jpg\\|png\\|pdf" :recursive t :publishing-function org-publish-attachment) ("superloopy_html" ...)
Now, after I have reviewed the changes to the generated files (by
browsing to http://127.0.0.1:8000
) I have to upload the generated
files to S3. This is similar to how I uploaded the test files in the
previous post, but now that the directory only contains generated
files I can shorten it to make the --exclude
line more specific and
contain fewer --include
lines. My upload.fish
script looks like this:
#!/usr/local/bin/fish set -gx AWS_PROFILE stig aws s3 sync \ --acl public-read \ --exclude '.DS_Store' \ ~/public_html/ s3://www.superloopy.io