{"id":126961,"date":"2020-08-15T18:24:31","date_gmt":"2020-08-15T18:24:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/git-it-write\/"},"modified":"2024-08-03T13:38:35","modified_gmt":"2024-08-03T13:38:35","slug":"git-it-write","status":"publish","type":"plugin","link":"https:\/\/pap-aw.wordpress.org\/plugins\/git-it-write\/","author":1147633,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0","stable_tag":"2.0","tested":"6.6.5","requires":"4.4","requires_php":"5.3","requires_plugins":null,"header_name":"Git it Write","header_author":"Aakash Chakravarthy","header_description":"Publish markdown files present in a Github repository as posts to WordPress automatically","assets_banners_color":"666666","last_updated":"2024-08-03 13:38:35","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.me\/vaakash\/","header_plugin_uri":"https:\/\/www.aakashweb.com\/wordpress-plugins\/git-it-write\/","header_author_uri":"https:\/\/www.aakashweb.com\/","rating":4.7,"author_block_rating":0,"active_installs":100,"downloads":7311,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"vaakash","date":"2020-08-15 18:24:08"},"1.0.1":{"tag":"1.0.1","author":"vaakash","date":"2020-08-15 19:45:50"},"1.1":{"tag":"1.1","author":"vaakash","date":"2020-08-16 19:17:18"},"1.2":{"tag":"1.2","author":"vaakash","date":"2020-08-23 19:48:42"},"1.3":{"tag":"1.3","author":"vaakash","date":"2021-06-13 19:46:42"},"1.4":{"tag":"1.4","author":"vaakash","date":"2021-12-31 19:42:45"},"1.5":{"tag":"1.5","author":"vaakash","date":"2022-09-01 15:12:39"},"1.6":{"tag":"1.6","author":"vaakash","date":"2022-11-24 19:31:44"},"1.7":{"tag":"1.7","author":"vaakash","date":"2023-05-08 19:01:36"},"1.8":{"tag":"1.8","author":"vaakash","date":"2023-11-12 17:27:24"},"1.9":{"tag":"1.9","author":"vaakash","date":"2024-04-13 18:49:05"},"2.0":{"tag":"2.0","author":"vaakash","date":"2024-08-03 13:38:35"}},"upgrade_notice":{"":"<p>Version 1.0 is the first version of the plugin.<\/p>"},"ratings":{"1":0,"2":0,"3":1,"4":0,"5":6},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2362027,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2362028,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":2362025,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2362024,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2362023,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2362029,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2362030,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2362031,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2362032,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2362033,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":2362034,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Your files in a GitHub repository","2":"Posts pulled and published from GitHub.","3":"Content of the published post.","4":"Published post.","5":"Plugin admin page.","6":"Repository configuration page."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1332,1673,4608,166,2970],"plugin_category":[46],"plugin_contributors":[78629],"plugin_business_model":[],"class_list":["post-126961","plugin","type-plugin","status-publish","hentry","plugin_tags-editor","plugin_tags-github","plugin_tags-markdown","plugin_tags-posts","plugin_tags-publish","plugin_category-editor-and-writing","plugin_contributors-vaakash","plugin_committers-vaakash"],"banners":{"banner":"https:\/\/ps.w.org\/git-it-write\/assets\/banner-772x250.png?rev=2362023","banner_2x":"https:\/\/ps.w.org\/git-it-write\/assets\/banner-1544x500.png?rev=2362024","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/git-it-write\/assets\/icon.svg?rev=2362025","icon":"https:\/\/ps.w.org\/git-it-write\/assets\/icon.svg?rev=2362025","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/git-it-write\/assets\/screenshot-1.png?rev=2362029","caption":"Your files in a GitHub repository"},{"src":"https:\/\/ps.w.org\/git-it-write\/assets\/screenshot-2.png?rev=2362030","caption":"Posts pulled and published from GitHub."},{"src":"https:\/\/ps.w.org\/git-it-write\/assets\/screenshot-3.png?rev=2362031","caption":"Content of the published post."},{"src":"https:\/\/ps.w.org\/git-it-write\/assets\/screenshot-4.png?rev=2362032","caption":"Published post."},{"src":"https:\/\/ps.w.org\/git-it-write\/assets\/screenshot-5.png?rev=2362033","caption":"Plugin admin page."},{"src":"https:\/\/ps.w.org\/git-it-write\/assets\/screenshot-6.png?rev=2362034","caption":"Repository configuration page."}],"raw_content":"<!--section=description-->\n<p>Git it Write allows to publish the markdown files present in a GitHub repository to your WordPress site. So with this plugin, whenever the files are added, updated in the repository the WordPress post will be added, updated accordingly.<\/p>\n\n<p>This plugin is inspired from static site generators like <code>Jekyll<\/code>, <code>Next.js<\/code>, <code>Gatsby.js<\/code> on how content is written is markdown. This is a similar idea for WordPress where markdown files are parsed from GitHub and published as posts.<\/p>\n\n<p>\ud83d\udc53 <strong>Live example:<\/strong> <a href=\"https:\/\/github.com\/vaakash\/aakash-web\">Source github repository<\/a> (<code>\/docs\/<\/code> folder) to <a href=\"https:\/\/www.aakashweb.com\/docs\/\">Posts published<\/a><\/p>\n\n<p>\u26a1 <strong>Getting started:<\/strong> <a href=\"https:\/\/www.aakashweb.com\/docs\/git-it-write\/getting-started\/\">Get started<\/a> with Git it write. Learn how to write <code>.md<\/code> files and publish posts on WordPress.<\/p>\n\n<p>This allows people to collaborate with the post, share edits and suggestions in GitHub which when pulled the WordPress post will be updated automatically.<\/p>\n\n<p>If a repository has files in the below structure,<\/p>\n\n<pre><code>docs\/\n    guide\/\n        introduction.md\n        getting-started.md\nhelp\/\n    faq.md\n<\/code><\/pre>\n\n<p>Then below posts will be created like below (if permalinks are configured and the post type supports \"hierarchy\" i.e creating posts level by level (example: pages))<\/p>\n\n<pre><code>https:\/\/example.com\/docs\/guide\/introduction\/\nhttps:\/\/example.com\/docs\/guide\/getting-started\/\nhttps:\/\/example.com\/help\/faq\/\n<\/code><\/pre>\n\n<h3>\ud83c\udfb2 What is the use of this plugin ?<\/h3>\n\n<ul>\n<li>Publish posts using the files in your GitHub repository.<\/li>\n<li>Write your posts in Markdown format.<\/li>\n<li>Write your posts on your desktop application (Notepad++, Sublime Text, Visual studio code).<\/li>\n<li>Collaborate, involve communities on the files in GitHub and publish them on WordPress.<\/li>\n<li>All the advantages of Git and it's version management system.<\/li>\n<\/ul>\n\n<h3>\ud83d\ude80 Some use cases<\/h3>\n\n<ul>\n<li>Can be used for documentation posts, FAQs, Wikis etc.<\/li>\n<li>Write blog posts.<\/li>\n<li>Any articles which may need community involvement.<\/li>\n<\/ul>\n\n<h3>\u2728 Features<\/h3>\n\n<ul>\n<li>Markdown will be processed and post will be published as HTML.<\/li>\n<li>Images used in the source file will be uploaded to WordPress.<\/li>\n<li>Relative links are supported.<\/li>\n<li>Set post properties like post status, title, order, category, tags etc, in the source file itself.<\/li>\n<li>Webhook support (whenever repository is changed, it updates the plugin to pull the latest changes and publish the posts)<\/li>\n<li>Add multiple repositories.<\/li>\n<li>Publish to any post type.<\/li>\n<li>Posts are published in hierarchial manner if they are under folders. Example: a file <code>dir1\/hello.md<\/code> will be posted as <code>dir1\/hello\/<\/code> in WordPress if the post type supports hierarchy.<\/li>\n<li>Support for post metadata like setting tags, categories, custom fields.<\/li>\n<\/ul>\n\n<h3>\u2139 Note<\/h3>\n\n<ul>\n<li>Only Markdown files will be pulled and published right now<\/li>\n<li>Posts won't be deleted when it's source file is deleted on GitHub.<\/li>\n<li>It is preferred to have a permalink structure.<\/li>\n<li>It is preferred to select a post type which supports hierarchy.<\/li>\n<li>Images have to present only in <code>_images<\/code> folder in the repository root. Markdown files have to relatively use them in the file.<\/li>\n<\/ul>\n\n<h3>\ud83e\udd57 Recommendation<\/h3>\n\n<p>It is recommended that a permalink structure is enabled in the WordPress site so that, if you have file under <code>docs\/reference\/my-post.md<\/code> then a post is published like <code>https:\/\/example.com\/docs\/reference\/my-post\/<\/code>. This will be the result when post type has hierarchy support. They will be posted level by level for every folder in the repository. The folder's post will be taken from the <code>index.md<\/code> file if exists under that folder.<\/p>\n\n<h3>\ud83c\udfc3\u200d\u2642\ufe0f Using the plugin<\/h3>\n\n<ol>\n<li>Have a GitHub repository where all the source files (markdown files) are maintained (organized in folders if needed the exact structure)<\/li>\n<li>In the plugin settings page, click add a new repository.<\/li>\n<li>Enter the details of the repository to pull the posts from and under what post type to publish them.<\/li>\n<li>Save the settings<\/li>\n<li>Click \"Pull the posts\" and then \"Pull only\" changes. This will publish posts for all the markdown files.<\/li>\n<li>To automatically update posts whenever repository is updated, configure webhook as mentioned in the settings page.<\/li>\n<\/ol>\n\n<h3>Links<\/h3>\n\n<ul>\n<li><a href=\"https:\/\/www.aakashweb.com\/docs\/git-it-write\/\">Documentation<\/a><\/li>\n<li><a href=\"https:\/\/www.aakashweb.com\/forum\/\">Support forum\/Report bugs<\/a><\/li>\n<li><a href=\"https:\/\/www.paypal.me\/vaakash\/\">Donate<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vaakash\/git-it-write\">Contribute on GitHub<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Extract the zipped file and upload the folder <code>git-it-write<\/code> to to <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <code>Plugins<\/code> menu in WordPress.<\/li>\n<li>Open the admin page from the \"Git it Write\" link under the settings menu.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<p>Please visit the <a href=\"https:\/\/www.aakashweb.com\/docs\/git-it-write\/\">plugin documentation page<\/a> for complete list of FAQs.<\/p>\n<dl>\n<dt id='when%20a%20post%20is%20edited%20in%20wordpress%20will%20that%20update%20the%20file%20in%20the%20github%20repository%20%3F'><h3>When a post is edited in WordPress will that update the file in the GitHub repository ?<\/h3><\/dt>\n<dd><p>No. This plugin won't sync post content. It is a one way update. Only changes made to the GitHub repository will update the posts and not otherwise.<\/p><\/dd>\n<dt id='what%20all%20files%20in%20the%20repository%20will%20be%20published%20%3F'><h3>What all files in the repository will be published ?<\/h3><\/dt>\n<dd><p>All markdown files will be published as posts.<\/p><\/dd>\n<dt id='what%20are%20not%20published%20%3F'><h3>What are not published ?<\/h3><\/dt>\n<dd><p>Any folder\/file starting with <code>_<\/code> (underscore), <code>.<\/code> (dot) won't be considered for publishing.<\/p><\/dd>\n<dt id='can%20i%20pull%20posts%20from%20a%20specific%20branch%20in%20the%20repository%20%3F'><h3>Can I pull posts from a specific branch in the repository ?<\/h3><\/dt>\n<dd><p>Yes, if you want to pull posts from a branch in a repository then you can specify it in the plugin's repository settings page.<\/p><\/dd>\n<dt id='can%20i%20pull%20posts%20from%20a%20specific%20folder%20in%20the%20repository%20%3F'><h3>Can I pull posts from a specific folder in the repository ?<\/h3><\/dt>\n<dd><p>Yes, if you want to pull posts from a folder in a repository then you can specify it in the plugin's repository settings page. For example, if a repository has a folder <code>website\/main\/docs<\/code> and if you want to pull only from docs folder, then you can specify <code>website\/main\/docs<\/code> in the plugin settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h3>2.0<\/h3>\n\n<ul>\n<li>Fix: Disable inline URLs from being converted to link tags. (Thanks to @SienciLabs for the report)<\/li>\n<\/ul>\n\n<h3>1.9<\/h3>\n\n<ul>\n<li>Fix: Filename with multiple dots are ignored.<\/li>\n<\/ul>\n\n<h3>1.8<\/h3>\n\n<ul>\n<li>New: Error message during HTTP get\/post is now logged.<\/li>\n<li>Fix: Double quotes in WordPress shortcodes are escaped.<\/li>\n<li>Fix: GitHub access token field in admin form is converted to a password field.<\/li>\n<li>Fix: Typos in readme and admin page.<\/li>\n<\/ul>\n\n<h3>1.7<\/h3>\n\n<ul>\n<li>New: Images (<code>_images<\/code>) can be now organized in folders.<\/li>\n<li>New: Featured image can now be set to posts.<\/li>\n<li>New: Markdown images are now wrapped with <code>figure<\/code> tag and added support for image caption.<\/li>\n<li>New: Image tags now have class attributes similar to WordPress editor.<\/li>\n<li>Fix: Images were not uploaded for private repositories. (Thanks to https:\/\/github.com\/lukaszpiotrluczak for the contribution)<\/li>\n<li>Fix: Webhook publish request fails to upload images.<\/li>\n<\/ul>\n\n<h3>1.6<\/h3>\n\n<ul>\n<li>New: Options like comment status, page template, sticky post can now be set.<\/li>\n<li>New: New option to skip file from being published.<\/li>\n<\/ul>\n\n<h3>1.5<\/h3>\n\n<ul>\n<li>New: Post date can now be set.<\/li>\n<li>Fix: Enhancements to data escaping in the admin page.<\/li>\n<\/ul>\n\n<h3>1.4<\/h3>\n\n<ul>\n<li>Fix: Repository not found issue by adding GitHub authentication.<\/li>\n<li>Fix: Duplicate posts when filename has special characters.<\/li>\n<li>Fix: PHP warning when directory has no index.md file.<\/li>\n<\/ul>\n\n<h3>1.3<\/h3>\n\n<ul>\n<li>New: Support for git branches (Thanks to https:\/\/github.com\/AppalachiaInteractive for the contribution)<\/li>\n<li>New: Logs directory has been changed to the uploads directory.<\/li>\n<li>Fix: Minor admin page enhancements.<\/li>\n<\/ul>\n\n<h3>1.2<\/h3>\n\n<ul>\n<li>New: Support for custom fields<\/li>\n<li>New: New shortcode attribute in <code>[giw_edit_link]<\/code> to automatically wrap in <code>p<\/code> tag.<\/li>\n<li>Fix: Added permission callback for the webhook REST API.<\/li>\n<li>Fix: Minor admin UI enhancements.<\/li>\n<\/ul>\n\n<h3>1.1<\/h3>\n\n<ul>\n<li>New: Support for Parsedown extra<\/li>\n<\/ul>\n\n<h3>1.0.1<\/h3>\n\n<ul>\n<li>Fix: Webhook is changed to <code>POST<\/code> method.<\/li>\n<li>Fix: Readme formatting.<\/li>\n<\/ul>\n\n<h3>1.0<\/h3>\n\n<ul>\n<li>First version of the plugin.<\/li>\n<\/ul>","raw_excerpt":"Publish markdown files present in a GitHub repository as posts to WordPress automatically","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/126961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=126961"}],"author":[{"embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vaakash"}],"wp:attachment":[{"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=126961"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=126961"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=126961"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=126961"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=126961"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pap-aw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=126961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}