13 AUGUST 2020/SWIFT

Deploy your Publish website for free on GitHub Pages

๐Ÿ™ Create a new GitHub repository

First things first, let's create a repository to host your website content.

We'll call it mywebsite , which means it will be accessible at https://yourusername.github.io/mywebsite.

Instead of mywebsite, if you use [yourusername.github.io](http://yourusername.github.io) it will be accessible at https://yourusername.github.io. See https://pages.github.com for more infos about that.

/images/4/Screenshot<em>2020-08-11</em>at_15.21.16.png

๐ŸŽž Setup the Publish pipeline

Open your main.swift file and add deployedUsing: .gitHub("yourusername/mywebsite") to your publish pipeline, which should look something like this:

try MyWebsite().publish( withTheme: .casperish, deployedUsing: .gitHub("sowenjub/mywebsite"), additionalSteps: [ .installPlugin(.readingTime()), .installPlugin(.pygments()), ], plugins: [.pygments()] )

Now run your site in Xcode (Product > Run command or โŒ˜+R), then open your terminal and run

publish deploy

Head over to your repository, refresh and make sure your files are there.

๐Ÿฅ Setup GitHub Pages

Open your repository settings, scroll down to the GitHub Pages section and select the master branch. Don't forget to click the Save button.

/images/4/Screenshot<em>2020-08-11</em>at_15.28.14.png

Once you're done, it should give your the address to your website.

/images/4/Screenshot<em>2020-08-11</em>at_15.29.07.png

And you're done! Unless you want to use a custom domain name, which can be set in the same settings panel.

๐Ÿ’ Bonus: Deploying from Xcode

Instead of deploy using the command line with publish deploy, you can deploy straight from Xcode.

First, create a New Scheme, we'll call it Deploy MyWebsite. Click on it to reopen the same menu and select "Edit Schemeโ€ฆ".

/images/4/Screenshot<em>2020-08-11</em>at_22.21.08.png

Select Run and in the Arguments Passed On Lauch, add --deploy without space.

/images/4/Screenshot<em>2020-08-11</em>at_22.24.05.png

Now anytime your Run your website with the scheme (Product > Run command or โŒ˜+R), it will deploy your site to GitHub.

Arnaud Joubay

Arnaud Joubay

Swift & Rails Indie Maker. Original Parasider. Time Knight. 11y Remote/WFH. Half of @teambkry. Creator of cows in App Store featured @nomeat_today. Scuba diver.๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ•๐Ÿ‹๐Ÿฅ๐Ÿฎ๐Ÿ‰๐ŸŒฑ.