{"id":3443,"date":"2008-07-31T16:31:00","date_gmt":"2008-07-31T16:31:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/chess-by-blog\/"},"modified":"2010-06-24T05:43:24","modified_gmt":"2010-06-24T05:43:24","slug":"chess-by-blog","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/chess-by-blog\/","author":176099,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.5","stable_tag":"1.1.5","tested":"3.0.5","requires":"2.0.4","requires_php":"","requires_plugins":"","header_name":"Chess By Blog","header_author":"Julian Fong","header_description":"","assets_banners_color":"","last_updated":"2010-06-24 05:43:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/www.levork.org\/cbb","header_author_uri":"http:\/\/www.levork.org\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":6498,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[128356],"plugin_category":[],"plugin_contributors":[128357],"plugin_business_model":[],"class_list":["post-3443","plugin","type-plugin","status-publish","hentry","plugin_tags-chess-post-game-pgn-fen","plugin_contributors-levork","plugin_committers-levork"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/chess-by-blog.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Chess By Blog is a plugin for WordPress 2.0 that adds graphical chess\nfunctionality to your WordPress blog. It lets you do several things:<\/p>\n\n<ul>\n<li>PGN (Portable Game Notation) inserted into your post body will be\ndisplayed as a graphical board, inline in the browser. The client side\ncode was written using the Google Web Toolkit (GWT), resulting in\nJavascript (no Java required) that has been tested in Internet\nExplorer 6-9, Mozilla\/Firefox, and Safari. The graphical look of\nthe chessboard is controlled by themes, and can be easily controlled\nin the management panel for the plugin.<\/li>\n<li>The board supports interactive play directly in the browser, in a\nmode which does not update the post body. All rules of chess are\nsupported, include en passant, castling, and pawn promotion. This can\nbe used to present chess problems for readers to work through.<\/li>\n<li>Chess By Blog also supports a persistent game played between two\nplayers, hence the name of the plugin. Readers that have edit\npermissions on a post can take turns moving pieces, with the state of\nthe board saving to the WordPress database between moves. The plugin\nuses WordPress and PHP security features to ensure that only moves\nthat come from the client chessboard code can update the database.<\/li>\n<\/ul>\n\n<p>Chess By Blog is free software, distributed under the Expat license (a\ncopy of which is in chess-by-blog.php).<\/p>\n\n<h3>Usage<\/h3>\n\n<p>The plugin adds a \"Chess By Blog\" to the Quicktag panel that appears\nwhen you edit or write a new post. (Unfortunately, at this time there\nis no corresponding button in the visual editor.) Clicking the button\nwill pop open a new window which allows you to create a new chess\nboard. The fields of this board correspond almost directly to the\nseven required tags of Portable Game Notation. For the purposes of the\nplugin, all fields are optional; accepting the defaults will result in\ncode inserted into your post which will create an empty, closed\nboard. There are three types of boards that can be set up:<\/p>\n\n<ul>\n<li><p>Static, non playable board<\/p>\n\n<p>A static, non playable board can be created by leaving the\n\"Wordpress ID\" blank and by inserting algebraic move notation in\nthe Movelist field. Note that for speed reasons, the input\n(particularly pawn moves) isn't fully error checked by the\nclient code.<\/p><\/li>\n<li><p>Playable, non-persistent board<\/p>\n\n<p>An interactive, non-persistent board can be created by leaving the\nWhite and Black players at the default (i.e. \"*\"). Algebraic move\nnotation can be optionally inserted in the move text to set up the\nboard. Note that when the board is played interactively, full\nvalidation of each move is performed. This mode is ideal for\npresenting chess problems that can be worked through by readers.<\/p><\/li>\n<li><p>Playable, persistent board<\/p>\n\n<p>An interactive and persistent board can be created by selecting\nblog users for the White and Black players. These should\ncorrespond to the usernames of users of your blog who have at\nleast Subscriber Roles.<\/p><\/li>\n<\/ul>\n\n<p>Alternately, you can forego the usage of the Quicktags button and\ninsert PGN directly, enclosed in \"div class=\"CBB-board\" tags. The\nclient code will treat standard PGN as a static, non playable\nboard. Playable boards can be created by inserting [CBBWhiteId] and\n[CBBBlackId] PGN tags with values as described above.<\/p>\n\n<h3>PGN support<\/h3>\n\n<p>Chess By Blog fully supports the seven standard PGN tags. Comments\nenclosed with curly braces are preserved, and will be shown at the top\nof the game log table when the corresponding move is highlighted. In\naddition, the FEN and JsCom (only the \"startply\" command is\nrecognized) tags are both supported, allowing specification of the\ninitial board layout. As an example of the JsCom tag, specifying\n [JsCom \"startply 5\"]\nwill preposition the board after White's 3rd move.<\/p>\n\n<h3>Chess variant support<\/h3>\n\n<p>Chess By Blog fully supports FEN (Forsythe-Edwards Notation) via the\n\"FEN\" tag in PGN. This allows specification of the initial board\nlayout. It also allows for handling of some chess variants.<\/p>\n\n<p>Fischer Random Chess (or Chess960) is directly supported. The initial\nlayout of the pieces must be specified via a FEN tag. Castling is\nsupported correctly for this variant.<\/p>\n\n<p>Capablanca chess is directly supported. The layout of the board must\nbe specified via a FEN tag, using \"A\" or \"a\" for the Archbishop and\n\"C\" or \"c\" for the Chancellor; a 8x10 piece layout must be specified\nas well.<\/p>\n\n<p>There is limited support for arbitrary board sizes. Castling is\nhandled by always moving the King to the 'c' file if castling on the a\nside, or the file to the left of the rightmost file if castling on the\nother side; the Rook is always moved to the inner square. This\nsupports Fischer Random Chess and Capablanca Random Chess, but does\nnot support other variants. In addition, en passant always assumes the\npawns start on the 3rd rank.<\/p>\n\n<h3>Customization<\/h3>\n\n<p>The look of the client side code is controlled by themes, which live\nunder chess-by-blog\/themes. A new theme can be created by adding a\nsubdirectory which contains at least a file named \"ChessByBlog.css\".\nThis style sheet should contain the same classes as shown in the\ndefault theme. In addition, there is a requirement that the CBB-square\nand CBB-button contain width, height, and min-height attributes with\nexplicit pixel sizes. The client side code needs these in order to\ncorrectly infer the sizes of chessboard squares and buttons.<\/p>\n\n<h3>Building the client side code<\/h3>\n\n<p>This step is optional, but if you need to make fundamental changes to\nthe code that can't covered by changes to CSS, you'll need to edit\nthe Java source files in src\/org\/levork\/gwt.<\/p>\n\n<p>The client side code is Javascript which lives in the chess-by-blog\nsubdirectory, compiled from Java using the Google Web Toolkit. To\nbuild this yourself, you will need to have the Google Web Toolkit\ninstalled (at least version 1.7), after which the entire src directory\ncan be copied into your Google Web Toolkit folder. It is then\nrecommended that you run<\/p>\n\n<p>webAppCreator -ignore org.levork.gwt.client.ChessByBlog<\/p>\n\n<p>This will create the build.xml script necessary to compile using\nant. Running 'ant build' will compile the project into the\nsubdirectory war\/chessbyblog. The files with cache in their name are\nthe Javascript files; these go in wp-content\/plugins\/chess-by-blog\n(and the old ones should be deleted, most of them will have different\nnames).<\/p>\n\n<h3>Known issues<\/h3>\n\n<ul>\n<li>Switching from the code to visual editor may wreak havoc on the\ndiv tags, despite the tags being protected by pre tags. This is an\nissue with the visual editor.<\/li>\n<li>Internet Explorer may have issues with the preview of new themes in \nthe management panel.<\/li>\n<li>There are some broken themes out there that will not work with this\nplugin. In particular, if the theme does not make a call to\nwp_footer() in footer.php, the Chess By Blog plugin will not be able\nto emit the necessary lines of HTML that invoke the Javascript\ncode. (That theme may also break other plugins, and is definitely a\ntheme bug.) You may be able to fix this by inserting the necessary\nwp_footer() call in the theme directory?s footer.php yourself ? try\ninserting:\n\nat the beginning of the file.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>Chess By Blog has been tested on WordPress 2.0.4 to 3.0; it is not\nsupported for earlier versions.<\/p>\n\n<p>Before installing, you should back up your WordPress blog,\nparticularly if you intend to use the persistent game feature since\nthis will make changes directly to your database. The changes should\nonly be limited to the body of the post which contains the chess\nboard, and I'm not aware of any issues with the code - but better safe\nthan sorry.<\/p>\n\n<p>If you are upgrading, it is recommended that you first disable the\nplugin, then remove the files in the old chess-by-blog\nsubdirectory. This is optional: however, due to the names of the\nJavascript scripts created by the Google Web Toolkit, new files tend\nto have different names and the old ones aren't replaced - they just\ntake up disk space.<\/p>\n\n<p>The top level contents of the zip folder look like this:<\/p>\n\n<p>\/chess-by-blog\n +--readme.txt (this file!)\n +--chess-by-blog.php\n +--\/chess-by-blog\n +----\/themes\n +----(support files)\n +--\/src<\/p>\n\n<p>The top level chess-by-blog directory should be copied to your WordPress \nwp-content plugins directory. Optionally, unless you are building the \nclient side code yourself, you can delete the src directory.<\/p>\n\n<p>You should now be able to activate the plugin from the WordPress\nPlugins administration panel.<\/p>","raw_excerpt":"Chess By Blog is a plugin for WordPress 2.0 that adds graphical chess functionality to your WordPress blog. The plugin supports PGN (Portable Game Not &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/3443","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=3443"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/levork"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=3443"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=3443"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=3443"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=3443"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=3443"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=3443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}