├── .gitignore ├── README.md ├── assets ├── css │ └── style.css ├── images │ └── social-share.png └── js │ └── script.js ├── index.html └── wp.html /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WordPress Readme Generator 2 | 3 | 4 | WordPress Readme generator is readme builder that helps you to visualize what you you'll be seeing while writing the readme. -------------------------------------------------------------------------------- /assets/css/style.css: -------------------------------------------------------------------------------- 1 | .readme-generator { 2 | background: transparent; 3 | z-index: 5; 4 | position: fixed; 5 | overflow: visible; 6 | top: 0; 7 | bottom: 0; 8 | left: 0; 9 | right: 0; 10 | height: 100%; 11 | min-width: 0; 12 | } 13 | 14 | .readme-generator.mini { 15 | margin-left: 25%; 16 | } 17 | 18 | .readme-generator.expanded { 19 | margin-left: 75%; 20 | } 21 | 22 | .builder-header { 23 | position: absolute; 24 | left: 0; 25 | right: 0; 26 | height: 45px; 27 | padding: 0 15px; 28 | line-height: 45px; 29 | z-index: 10; 30 | margin: 0; 31 | border-top: none; 32 | -webkit-box-shadow: none; 33 | box-shadow: none; 34 | border-bottom: 1px solid #ddd; 35 | transition: padding ease-in-out .18s; 36 | background-color: #eee; 37 | box-shadow: 0 1px 1px rgba(0,0,0,0.2); 38 | } 39 | 40 | .builder-header span { 41 | float: right; 42 | margin-top: 10px; 43 | } 44 | 45 | .builder-header span .fa { 46 | font-size: 24px; 47 | } 48 | 49 | .builder-area { 50 | -webkit-box-sizing: border-box; 51 | -moz-box-sizing: border-box; 52 | box-sizing: border-box; 53 | position: fixed; 54 | width: 25%; 55 | height: 100%; 56 | top: 0; 57 | bottom: 0; 58 | left: 0; 59 | padding: 0; 60 | margin: 0; 61 | z-index: 10; 62 | background: #eee; 63 | border-right: none; 64 | background: #eee; 65 | border-right: 1px solid #ddd; 66 | } 67 | 68 | .expanded .builder-area { 69 | width: 75%; 70 | } 71 | 72 | .collapsed .builder-area { 73 | margin-left: -25%; 74 | } 75 | 76 | .builder-fields { 77 | position: absolute; 78 | top: 45px; 79 | bottom: 45px; 80 | left: 0; 81 | right: 0; 82 | overflow-y: auto; 83 | overflow-x: hidden; 84 | } 85 | 86 | section.panel { 87 | border-top: 1px solid #ddd; 88 | } 89 | 90 | .panel h3 { 91 | padding: 10px 10px 11px 14px; 92 | font-size: 15px; 93 | line-height: 150%; 94 | letter-spacing: normal; 95 | background: #fff; 96 | font-weight: 600; 97 | margin: 0; 98 | cursor: pointer; 99 | border-left: 4px solid #fff; 100 | } 101 | 102 | .panel-content { 103 | background: #eee; 104 | padding: 10px; 105 | border-top: 1px solid #ddd; 106 | font-size: 14px; 107 | display: none; 108 | } 109 | 110 | .panel-content label { 111 | font-size: 14px; 112 | font-weight: normal; 113 | display: block; 114 | } 115 | 116 | .active h3 { 117 | border-left: 4px solid #0073aa; 118 | } 119 | 120 | .panel-content input, 121 | .panel-content textarea { 122 | background: #fff; 123 | width: 97%; 124 | font-family: monospace; 125 | font-size: 14px; 126 | } 127 | 128 | .panel-content input:focus, 129 | .panel-content textarea:focus { 130 | outline: none; 131 | } 132 | 133 | .form-row { 134 | margin-bottom: 5px; 135 | padding: 10px 15px 0 15px; 136 | } 137 | 138 | .add-more-area ul { 139 | padding: 0; 140 | margin: 0; 141 | background: #eee; 142 | } 143 | 144 | .add-more-area li { 145 | list-style: none; 146 | background: #fff; 147 | padding: 10px; 148 | margin-bottom: 10px; 149 | } 150 | 151 | .add-more-area li a { 152 | font-size: 13px; 153 | } 154 | 155 | .footer-actions { 156 | position: fixed; 157 | bottom: 0; 158 | left: 0; 159 | width: 25%; 160 | height: 45px; 161 | border-top: 1px solid #ddd; 162 | background: #eee; 163 | } 164 | 165 | .footer-actions .button { 166 | font-size: 13px; 167 | padding: 4px 15px; 168 | background: #fff; 169 | border: 1px solid #ddd; 170 | } 171 | 172 | .footer-actions .window-width { 173 | float: right; 174 | } 175 | 176 | .footer-actions .button.resize { 177 | margin-left: 0; 178 | } 179 | 180 | .footer-actions .button.export { 181 | margin-right: 0; 182 | } 183 | 184 | .mini .footer-actions { 185 | width: 25%; 186 | } 187 | 188 | .expanded .footer-actions { 189 | width: 75%; 190 | } 191 | 192 | #preview-area { 193 | right: auto; 194 | width: 100%; 195 | position: absolute; 196 | left: 0; 197 | right: 0; 198 | top: 0; 199 | bottom: 0; 200 | height: 100%; 201 | overflow: hidden; 202 | overflow-y: scroll; 203 | } 204 | 205 | textarea.output-area { 206 | width: 100%; 207 | font-family: monospace; 208 | } 209 | 210 | .modal-window { 211 | background: #fff; 212 | position: fixed; 213 | top: 5%; 214 | bottom: 5%; 215 | right: 10%; 216 | left: 10%; 217 | display: none; 218 | box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1); 219 | z-index: 160000; 220 | } 221 | 222 | .modal-window.showing { 223 | display: block; 224 | } 225 | 226 | .modal-window a.close { 227 | position: absolute; 228 | top: 0; 229 | right: 0; 230 | color: #777; 231 | display: inline-block; 232 | padding: 10px 20px; 233 | z-index: 5; 234 | text-decoration: none; 235 | height: 30px; 236 | cursor: pointer; 237 | border-left: 1px solid #ddd; 238 | border-radius: 0; 239 | } 240 | 241 | .modal-window .modal-header { 242 | position: absolute; 243 | top: 0; 244 | left: 0; 245 | right: 0; 246 | height: 50px; 247 | z-index: 4; 248 | border-bottom: 1px solid #ddd; 249 | padding-left: 15px; 250 | box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05); 251 | } 252 | 253 | .modal-header h2 { 254 | line-height: 50px; 255 | text-align: left; 256 | margin-top: 0; 257 | color: #5d6d74; 258 | font-size: 20px; 259 | text-shadow: 0 1px 1px #fff; 260 | } 261 | 262 | .modal-window .modal-content { 263 | position: absolute; 264 | top: 50px; 265 | right: 0; 266 | bottom: 50px; 267 | left: 0; 268 | overflow: auto; 269 | padding: 2em 2em; 270 | } 271 | 272 | .modal-window .modal-content textarea:focus { 273 | outline: none; 274 | } 275 | 276 | .modal-window .modal-footer { 277 | position: absolute; 278 | left: 0; 279 | bottom: 0; 280 | right: 0; 281 | padding: 12px 20px; 282 | border-top: 1px solid #ddd; 283 | background: #fff; 284 | text-align: left; 285 | } 286 | 287 | .modal-backdrop { 288 | position: fixed; 289 | z-index: 159999; 290 | top: 0; 291 | left: 0; 292 | right: 0; 293 | bottom: 0; 294 | min-height: 360px; 295 | background: #000; 296 | opacity: .7; 297 | display: none; 298 | } 299 | 300 | .modal-backdrop.showing { 301 | display: block; 302 | } 303 | 304 | @media only screen and (max-device-width: 768px) { 305 | .builder-area { 306 | width: 100%; 307 | } 308 | 309 | .mini .footer-actions { 310 | width: 100%; 311 | } 312 | 313 | .footer-actions .button.resize { 314 | display: none; 315 | } 316 | 317 | .footer-actions .button.export { 318 | margin-right: 8px; 319 | } 320 | 321 | #preview-area { 322 | display: none; 323 | } 324 | 325 | .modal-window { 326 | top: 0; 327 | right: 0; 328 | left: 0; 329 | bottom: 0; 330 | } 331 | } 332 | -------------------------------------------------------------------------------- /assets/images/social-share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tareq1988/wp-readme-generator/27e942217881632b121b0b3659df9dd4430b72bc/assets/images/social-share.png -------------------------------------------------------------------------------- /assets/js/script.js: -------------------------------------------------------------------------------- 1 | var Storage = { 2 | banner: 'https://ps.w.org/wp-super-cache/assets/banner-1544x500.png?rev=1082414', 3 | icon: 'https://ps.w.org/wp-super-cache/assets/icon-256x256.png?rev=1095422', 4 | name: 'Plugin Name', 5 | contributors: 'john, doe', 6 | donate: 'https://tareq.co/donate/', 7 | tags: 'comments, spam, cache', 8 | requires: '4.0', 9 | tested: '4.8', 10 | stable: 'trunk', 11 | php: '5.4', 12 | license: 'GPLv2 or later', 13 | licenseuri: 'https://www.gnu.org/licenses/gpl-2.0.html', 14 | short: 'Here is a short description of the plugin. This should be no more than 150 characters. No markup here.', 15 | sections: { 16 | description: 'This is the long description. No limit, and you can use Markdown (as well as in the following sections).\n\nFor backwards compatibility, if this section is missing, the full length of the short description will be used, and\nMarkdown parsed.\n\nA few notes about the sections above:\n\n* \"Contributors\" is a comma separated list of wordpress.org usernames\n* \"Tags\" is a comma separated list of tags that apply to the plugin\n* \"Requires at least\" is the lowest version that the plugin will work on\n* \"Tested up to\" is the highest version that you\'ve *successfully used to test the plugin*. Note that it might work on\nhigher versions... this is just the highest one you\'ve verified.\n* Stable tag should indicate the Subversion \"tag\" of the latest stable version, or \"trunk,\" if you use `/trunk/` for\nstable.\n\n Note that the `readme.txt` of the stable tag is the one that is considered the defining one for the plugin, so\nif the `/trunk/readme.txt` file says that the stable tag is `4.3`, then it is `/tags/4.3/readme.txt` that\'ll be used\nfor displaying information about the plugin. In this situation, the only thing considered from the trunk `readme.txt`\nis the stable tag pointer. Thus, if you develop in trunk, you can update the trunk `readme.txt` to reflect changes in\nyour in-development version, without having that information incorrectly disclosed about the current stable version\nthat lacks those changes -- as long as the trunk\'s `readme.txt` points to the correct stable tag.\n\n If no stable tag is provided, it is assumed that trunk is stable, but you should specify \"trunk\" if that\'s where\nyou put the stable version, in order to eliminate any doubt.\n\nOrdered list:\r\n\r\n1. Some feature\r\n1. Another feature\r\n1. Something else about the plugin\r\n\r\nUnordered list:\r\n\r\n* something\r\n* something else\r\n* third thing\r\n\r\nHere\'s a link to [WordPress](http:\/\/wordpress.org\/ \"Your favorite software\") and one to [Markdown\'s Syntax Documentation][markdown syntax].\r\nTitles are optional, naturally.\r\n\r\n[markdown syntax]: http:\/\/daringfireball.net\/projects\/markdown\/syntax\r\n \"Markdown is what the parser uses to process much of the readme file\"\r\n\r\nMarkdown uses email style notation for blockquotes and I\'ve been told:\r\n> Asterisks for *emphasis*. Double it up for **strong**.\r\n\r\n``', 17 | installation: 'This section describes how to install the plugin and get it working.\r\n\r\ne.g.\r\n\r\n1. Upload the plugin files to the `\/wp-content\/plugins\/plugin-name` directory, or install the plugin through the WordPress plugins screen directly.\r\n1. Activate the plugin through the \'Plugins\' screen in WordPress\r\n1. Use the Settings->Plugin Name screen to configure the plugin\r\n1. (Make your instructions match the desired user flow for activating and installing your plugin. Include any steps that might be needed for explanatory purposes)', 18 | screenshots: [ 19 | { 20 | url: 'https://via.placeholder.com/640x480&text=Screenshot+1', 21 | caption: 'This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif).' 22 | }, 23 | { 24 | url: 'https://via.placeholder.com/640x480&text=Screenshot+2', 25 | caption: 'This is the second screen shot' 26 | } 27 | ], 28 | frequently_asked_questions: [ 29 | { 30 | question: 'A question that someone might have', 31 | answer: 'An answer to that question.' 32 | }, 33 | { 34 | question: 'What about foo bar?', 35 | answer: 'Answer to foo bar dilemma.' 36 | } 37 | ], 38 | changelog: '', 39 | upgrade_notice: '' 40 | } 41 | }; 42 | 43 | const App = new Vue({ 44 | el: '#builder', 45 | data: Storage, 46 | 47 | computed: { 48 | preparedScreenshots: function() { 49 | var string = ''; 50 | 51 | _.each( this.sections.screenshots, function(el, index) { 52 | string += ( index + 1 ) + '. ' + el.caption + '\n'; 53 | }); 54 | 55 | return string; 56 | }, 57 | 58 | preparedFaq: function() { 59 | var string = ''; 60 | 61 | _.each( this.sections.frequently_asked_questions, function(el, index) { 62 | string += '= ' + el.question + ' =\n\n'; 63 | string += '' + el.answer + '\n\n'; 64 | }); 65 | 66 | return string; 67 | }, 68 | 69 | generated: function() { 70 | 71 | var readme = '=== ' + this.name + ' ===\n' + 72 | 'Contributors: ' + this.contributors + '\n' + 73 | 'Donate link: ' + this.donate + '\n' + 74 | 'Tags: ' + this.tags + '\n' + 75 | 'Requires at least: ' + this.requires + '\n' + 76 | 'Tested up to: ' + this.tested + '\n' + 77 | 'Stable tag: ' + this.stable + '\n' + 78 | 'Requires PHP: ' + this.php + '\n' + 79 | 'License: ' + this.license + '\n' + 80 | 'License URI: ' + this.licenseuri + '\n\n' + 81 | this.short + '\n\n' + 82 | '== Description ==\n\n' + this.sections.description + '\n\n' + 83 | '== Installation ==\n\n' + this.sections.installation + '\n\n' + 84 | '== Frequently Asked Questions ==\n\n' + this.preparedFaq + '\n' + 85 | '== Screenshots ==\n\n' + this.preparedScreenshots + '\n' + 86 | '== Changelog ==\n\n' + this.sections.changelog + '\n' + 87 | '== Upgrade Notice ==\n\n' + this.sections.upgrade_notice; 88 | 89 | return readme; 90 | } 91 | }, 92 | 93 | methods: { 94 | update: _.debounce(function (e, section) { 95 | this.sections[section] = e.target.value; 96 | }, 300), 97 | 98 | addQuestion: function() { 99 | this.sections.frequently_asked_questions.push( { 100 | question: '', 101 | answer: '' 102 | }); 103 | }, 104 | 105 | addScreenshot: function() { 106 | this.sections.screenshots.push( { 107 | url: '', 108 | caption: '' 109 | }); 110 | }, 111 | 112 | removeItem: function(index, section) { 113 | this.sections[section].splice(index, 1); 114 | }, 115 | 116 | showModal: function() { 117 | $('#modal-window').addClass('showing'); 118 | $('#modal-backdrop').addClass('showing'); 119 | }, 120 | 121 | showExportModal: function() { 122 | $('#export-modal-window').addClass('showing'); 123 | $('#export-modal-backdrop').addClass('showing'); 124 | }, 125 | 126 | closeModal: function() { 127 | $('#export-modal-window').removeClass('showing'); 128 | $('#export-modal-backdrop').removeClass('showing'); 129 | }, 130 | } 131 | }); 132 | 133 | const Preview = new Vue({ 134 | data: Storage, 135 | 136 | computed: { 137 | 138 | compiledDescription: function () { 139 | return this.compile( 'description' ); 140 | }, 141 | 142 | compiledInstallation: function () { 143 | return this.compile( 'installation' ); 144 | }, 145 | 146 | contribs: function() { 147 | return this.contributors.split( ',' ); 148 | }, 149 | 150 | tagsArray: function() { 151 | return this.tags.split( ',' ); 152 | } 153 | 154 | }, 155 | 156 | methods: { 157 | compile: function(section) { 158 | var text = this.sections[section].replace(/^[\s]*=[\s]+(.+?)[\s]+=/gm, '#### $1' ); 159 | 160 | return marked.parse( text, { sanitize: false } ); 161 | }, 162 | 163 | transform: function(index) { 164 | if ( index === 0 ) { 165 | return 0; 166 | } 167 | 168 | if ( index === this.sections.screenshots.length - 1 ) { 169 | return -100; 170 | } else { 171 | return ( index * 100 ); 172 | } 173 | }, 174 | 175 | galleryClass: function(index) { 176 | 177 | // first item 178 | if ( index === 0 ) { 179 | return 'center'; 180 | } 181 | 182 | if ( this.sections.screenshots.length > 2 && index == 1 ) { 183 | return 'right'; 184 | } 185 | 186 | if ( index === this.sections.screenshots.length - 1 ) { 187 | return 'left'; 188 | } 189 | 190 | }, 191 | 192 | toggleFaq: function(event) { 193 | var faqs = $(event.target).closest('#faq'); 194 | 195 | faqs.find('dt').removeClass('open'); 196 | faqs.find('dd').hide(); 197 | 198 | if ( 'DT' === event.target.tagName ) { 199 | $(event.target).addClass('open'); 200 | $(event.target).next().show(); 201 | } else { 202 | var dt = $(event.target).closest('dt'); 203 | dt.addClass('open'); 204 | dt.next().show(); 205 | } 206 | } 207 | } 208 | }); 209 | 210 | var interval = setInterval(function() { 211 | if ( 'complete' === window.frames['previewframe'].document.readyState ) { 212 | Preview.$mount(window.frames['previewframe'].window.document.getElementById('main')); 213 | clearInterval(interval); 214 | } 215 | }, 300); 216 | 217 | 218 | var panels = $('.panel'); 219 | 220 | panels.on('click', 'h3', function() { 221 | panels.removeClass('active').find('.panel-content').slideUp('fast'); 222 | 223 | $(this).closest('.panel').addClass('active').find('.panel-content').slideDown('fast'); 224 | }); 225 | 226 | function hide_modal() { 227 | $('#modal-window').removeClass('showing'); 228 | $('#modal-backdrop').removeClass('showing'); 229 | } 230 | 231 | jQuery(function($) { 232 | 233 | $('body').on('click', 'a#close-modal', function(event) { 234 | event.preventDefault(); 235 | 236 | hide_modal(); 237 | }); 238 | 239 | $('body').on('click', 'a#btn-resize', function(event) { 240 | event.preventDefault(); 241 | 242 | var page = $('#page'); 243 | 244 | if ( page.hasClass('mini') ) { 245 | page.removeClass('mini').addClass('expanded'); 246 | } else if ( page.hasClass('expanded' ) ) { 247 | page.removeClass('expanded').addClass('mini'); 248 | } 249 | }); 250 | 251 | $('#submit').on('click', function(event) { 252 | event.preventDefault(); 253 | 254 | var readme = $.trim( $('#readme').val() ); 255 | 256 | if ( '' === readme ) { 257 | return; 258 | } 259 | 260 | var data = {}; 261 | var reg = { 262 | name: /^===(.*)===/, 263 | contributors: /Contributors:(.*)/, 264 | donate: /Donate link:(.*)/, 265 | tags: /Tags:(.*)/, 266 | requires: /Requires at least:(.*)/, 267 | tested: /Tested up to:(.*)/, 268 | stable: /Stable tag:(.*)/, 269 | php: /Requires PHP:(.*)/, 270 | license: /License:(.*)/, 271 | licenseuri: /License URI:(.*)/, 272 | short: /(.*)/, 273 | }; 274 | 275 | _.each(reg, function(regex, key) { 276 | var value = readme.match(regex); 277 | 278 | if ( null !== value ) { 279 | Storage[key] = $.trim( value[1] ); 280 | readme = $.trim( readme.replace(regex, '') ); 281 | } 282 | }); 283 | 284 | var sections = { 285 | 'description': '', 286 | 'installation': '', 287 | 'frequently_asked_questions': [], 288 | 'screenshots': [], 289 | 'changelog': '', 290 | 'upgrade_notice': '' 291 | }; 292 | 293 | var sectionsRegexp = /^[\s]*==[\s]*(.+?)[\s]*==/gm; 294 | var sectionHeaders = readme.split(sectionsRegexp); 295 | 296 | if ( sectionHeaders.length < 2 ) { 297 | return; 298 | } 299 | 300 | for (var i = 1; i <= sectionHeaders.length; i += 2 ) { 301 | 302 | if ( sectionHeaders[i] !== undefined ) { 303 | var key = sectionHeaders[i].toLowerCase().split( ' ' ).join( '_' ); 304 | 305 | if ( Storage.sections[ key ] !== undefined ) { 306 | var section_content = $.trim( sectionHeaders[ i+1 ] ); 307 | 308 | if ( 'frequently_asked_questions' === key ) { 309 | var _faq_sections = section_content.split(/^[\s]*=[\s]+(.+?)[\s]+=/m); 310 | 311 | if ( _faq_sections.length > 1 ) { 312 | Storage.sections[key] = []; 313 | 314 | for (var i = 1; i <= _faq_sections.length; i += 2 ) { 315 | Storage.sections[key].push( { 316 | question: $.trim(_faq_sections[i]), 317 | answer: $.trim(_faq_sections[i+1]) 318 | }); 319 | } 320 | } 321 | 322 | } else if ( 'screenshots' === key ) { 323 | 324 | Storage.sections[key] = []; 325 | 326 | var _screenshots = section_content.split("\n"); 327 | 328 | _.each(_screenshots, function(el, index) { 329 | Storage.sections[key].push({ 330 | url: 'https://via.placeholder.com/640x480&text=Screenshot+' + (index+1), 331 | caption: $.trim( el.substr( el.indexOf('.') + 1 ) ) 332 | }); 333 | }); 334 | 335 | } else { 336 | Storage.sections[ key ] = section_content; 337 | } 338 | 339 | } 340 | } 341 | } 342 | 343 | hide_modal(); 344 | }); 345 | }); 346 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | WordPress Readme Generator 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 |
33 | 34 |
35 | WP Readme Generator 36 | 37 | 38 |
39 | 40 |
41 | 42 |
43 |

Banner and Icon

44 | 45 |
46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 | 54 |
55 |

Headings

56 | 57 |
58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 |
82 |
83 | 84 |
85 |

Description

86 | 87 |
88 | 89 | 90 | 91 | 92 | 93 |
94 |
95 | 96 |
97 |

FAQ

98 | 99 |
100 | 101 |
102 |
103 |
    104 |
  • 105 | 106 | 107 | 108 | 109 | 110 | 111 | Remove 112 |
  • 113 |
114 |
115 | 116 | Add Question 117 |
118 |
119 |
120 | 121 |
122 |

Screenshots

123 | 124 |
125 | 126 |
127 | 128 |
129 |
    130 |
  • 131 | 132 | 133 | 134 | 135 | 136 | 137 | Remove 138 |
  • 139 |
140 |
141 | 142 | Add Screenshot 143 |
144 |
145 |
146 | 147 |
148 |

Others

149 | 150 |
151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 |
159 |
160 |
161 | 162 | 170 | 171 | 181 | 182 | 183 |
184 | 185 |
186 | 187 |
188 |
189 | 190 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 221 | 222 | 223 | 224 | -------------------------------------------------------------------------------- /wp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Welcome to WordPress 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | 37 | 38 |
39 |
40 |
41 | 42 |
43 |
44 |
45 |
46 | 47 |
48 | 53 | 54 | Download 55 |
56 | 57 |

{{ name }}

58 | 59 | 60 |
61 | 62 | 63 | 64 | 65 | 66 | 67 | 74 | 75 |
76 |
77 |

Description

78 | 79 |
80 |
81 | 82 |
83 |

Screenshots

84 | 85 | 113 | 114 |
115 | 116 |
117 |

Installation

118 | 119 | 120 |
121 | 122 |
123 |

FAQ

124 | 125 |
126 | 130 |
131 |
132 | 133 |
134 |

Contributors & Developers

135 | 136 |
137 |

{{ name }} is open source software. The following people have contributed to this plugin.

138 | Contributors 139 | 140 | 146 |
147 |
148 |
149 | 150 | 173 |
174 |
175 |
176 |
177 | 178 | 185 | 186 | 187 | --------------------------------------------------------------------------------