A .NET Core console app to convert SQL CloudScribe blog posts to Jekyll.
As I had mentioned on my blog post titled Migrating from CloudScribe to GitHub Pages, this project originated as an update to the Jekyll import GitHub repository. However, that did not work out well and thus I decided to create this.
To migrate your CloudScribe SQL blog posts, you can do one of two things:
This project uses the .NET Core 2.2 runtime or SDK. Be sure that you have one or the other installed. If you need it, be sure to download it at .NET Core 2.2 Download.
As mentioned above, there are two methods to migrate your CloudScribe SQL blog posts.
The first method is to take a shortcut. You can download the binaries I've generated by visiting https://cdn.jasongaylord.com/files/downloads/CloudScribeToJekyll.zip. After you download the .zip file, you'll need to extract it to a folder on your machine and modify the cloudscribe.json file as indicated below.
The second method is to clone this project, open in Visual Studio or VS Code, and build the project. You'll then have to navigate to the bin directory and modify the cloudscribe.json file. This method also allows you to modify the source. However, if you have a feature you think should be added, please provide back via a pull request.
The cloudscribe.json file has the following structure:
{
"server": "",
"username": "",
"password": "",
"database": "",
"filetype": "md",
"blogid": "",
"comments": false,
"categories": true,
"jekyll_location": "C:\\Jekyll\\"
}
server - This is the server for your database. If hosting on Azure, the value is {resource_name}.database.windows.net.
username - This is the username you use to connect to the database.
password - This is the password you use to connect to the database.
database - This is the database name where CloudScribe is hosted.
filetype - The valid values are either 'md' for Markdown or 'html' for HTML. This will be the end result for your posts.
blogid - Optional. This is to specify a GUID for the specific blog you wish to migrate. Use this for multi-tenant setups.
comments - Optional. The default value is false. This means that comments won't be migrated. If you use Disquis, you won't need to migrate comments.
categories - Optional. The default value is true. This means that categories will be placed in the header of the post.
jekyll_location - Optional. The folder that you'd like the '_posts' and '_drafts' to be placed.
After modifying the config file, you can simply use the .NET Core CLI to execute the console application.
dotnet cloudscribetojekyll.dll