Created
May 6, 2026 18:53
-
-
Save troutcolor/fbde5015e2b3ebc3e08316c12fa52760 to your computer and use it in GitHub Desktop.
‘urlfeedlandserver’ defaults to ‘https://feedland.com/’, ‘screenname’ defaults to => ‘davewiner’, ‘catname’ defaults to => ‘All’ Example: Example shortcode: [feedlandriverinclude screenname="johnjohnston" cat="blogroll"]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Plugin Name: FeedLand River Include | |
| * Description: Embeds a FeedLand river viewer via shortcode [feedlandriverinclude]. | |
| * Version: 1.0.0 | |
| * License: GPLv2 or later | |
| * License URI: https://www.gnu.org/licenses/gpl-2.0.html | |
| */ | |
| if ( ! defined( 'ABSPATH' ) ) { | |
| exit; | |
| } | |
| $feedlandriverinclude_assets_loaded = false; | |
| add_shortcode( 'feedlandriverinclude', 'feedlandriverinclude_shortcode' ); | |
| function feedlandriverinclude_shortcode( $atts ) { | |
| global $feedlandriverinclude_assets_loaded; | |
| if ( ! $feedlandriverinclude_assets_loaded ) { | |
| feedlandriverinclude_enqueue_assets(); | |
| $feedlandriverinclude_assets_loaded = true; | |
| } | |
| extract( shortcode_atts( array( | |
| 'urlfeedlandserver' => 'https://feedland.com/', | |
| 'screenname' => 'davewiner', | |
| 'catname' => 'All', | |
| ), $atts ) ); | |
| $inline_js = " | |
| const appConsts = { | |
| urlFeedlandServer: " . json_encode( $urlfeedlandserver ) . " | |
| }; | |
| const riverSpec = { | |
| screenname: " . json_encode( $screenname ) . ", | |
| catname: " . json_encode( $catname ) . " | |
| }; | |
| function startup() { | |
| console.log('startup'); | |
| \$('#idServerUrl').text('Server URL: ' + appConsts.urlFeedlandServer); | |
| \$('#idRiverSpec').text('River spec: ' + jsonStringify(riverSpec)); | |
| displayTraditionalRiver(riverSpec, \$('.divRiverContainer')); | |
| } | |
| jQuery(document).ready(function() { | |
| startup(); | |
| }); | |
| "; | |
| wp_add_inline_script( 'flri-riverviewer', $inline_js, 'after' ); | |
| $return = "<div class='divRiverContainer'></div>"; | |
| return $return; | |
| } | |
| function feedlandriverinclude_enqueue_assets() { | |
| $styles = [ | |
| 'flri-misc' => '//s3.amazonaws.com/scripting.com/code/feedland/home/misc.css', | |
| 'flri-oldschool' => '//s3.amazonaws.com/scripting.com/code/feedland/home/oldschoolrender.css', | |
| 'flri-riverviewer' => '//s3.amazonaws.com/scripting.com/code/feedland/home/riverviewer.css', | |
| 'flri-basic' => '//s3.amazonaws.com/scripting.com/code/includes/basic/styles.css', | |
| 'flri-bootstrap' => '//s3.amazonaws.com/scripting.com/code/includes/bootstrap.css', | |
| 'flri-fontawesome' => '//s3.amazonaws.com/scripting.com/code/fontawesome/css/all.css', | |
| ]; | |
| foreach ( $styles as $handle => $url ) { | |
| wp_enqueue_style( $handle, $url, [], null ); | |
| } | |
| // jQuery first, then dependencies, then app scripts | |
| $scripts = [ | |
| 'flri-jquery' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/includes/jquery-1.9.1.min.js', 'deps' => [] ], | |
| 'flri-bootstrap' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/includes/bootstrap.min.js', 'deps' => ['flri-jquery'] ], | |
| 'flri-markdown' => [ 'url' => '//s3.amazonaws.com/fargo.io/code/markdownConverter.js', 'deps' => ['flri-jquery'] ], | |
| 'flri-basic' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/includes/basic/code.js', 'deps' => ['flri-jquery'] ], | |
| 'flri-misc' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/feedland/home/misc.js', 'deps' => ['flri-jquery'] ], | |
| 'flri-api' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/feedland/home/api.js', 'deps' => ['flri-jquery'] ], | |
| 'flri-getfeedinfo' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/feedland/home/getfeedinfo.js', 'deps' => ['flri-api'] ], | |
| 'flri-oldschool' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/feedland/home/oldschoolrender.js', 'deps' => ['flri-misc'] ], | |
| 'flri-riverviewer' => [ 'url' => '//s3.amazonaws.com/scripting.com/code/feedland/home/riverviewer.js', 'deps' => ['flri-api', 'flri-misc', 'flri-oldschool'] ], | |
| ]; | |
| foreach ( $scripts as $handle => $script ) { | |
| wp_enqueue_script( $handle, $script['url'], $script['deps'], null, true ); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is great! I spent a little bit of time with Codex trying to get the fonts and styles consistent. We first added the ubuntu font to the styles array.
Then we added some styles of our own to make things look consistent (right before setting the
$scriptsarray).Next we'll have to figure out how to do this without making everything
!important😃