Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!--
- Post-Specific Banners - Convert highlight boxes to sidebar banners
- Author: Brian Katzung <briank@kappacs.com>
- Paste this banner manager in a custom code block above post content.
- Put your (optionally linked) banner images in highlight boxes.
- Use box title ##banner@position for single sidebar or
- ##lbanner@position or ##rbanner@position for left/right sidebars.
- Positive positions from start (0 first), negative from end (-1 last).
- Multiple positions may look similar due to hidden sidebar content.
- -->
- <!-- The following label is an editing aid and will not appear in live -->
- <p>Banner Manager</p><!-- membership-post-specific-banner-manager -->
- <script>
- if (!!location.pathname.indexOf('/membership/edit/')) {
- document.currentScript.parentElement.parentElement.style.display = 'none';
- $(function () {
- $('div[td_type="highlight"]').each(function () {
- var $el = $(this); title = $el.find('.element_title').text(), match = title && title.match(/^##([lr])?banner@(-?\d+)/i);
- if (match) {
- var sb = 'div.sidebar_wrapper';
- switch (match[1]) {
- case 'l': case 'L': sb = sb + '.left-sidebar'; break;
- case 'r': case 'R': sb = sb + '.right-sidebar'; break;
- }
- var pos = parseInt(match[2]), banner = $('<div class="panel panel-blank banner_box" data-group="sidebar" data-type="banner"><div class="panel-body">'), con = $el.find('.element_content p').children().first(), kids = $(sb).children(), nkids = kids.length;
- banner.find('.panel-body').append(con);
- $el.remove();
- if (pos >= nkids) banner.insertAfter(kids[nkids - 1]);
- else if (pos >= 0) banner.insertBefore(kids[pos]);
- else if (nkids + pos < 0) banner.insertBefore(kids[0]);
- else banner.insertAfter(kids[nkids + pos]);
- }
- });
- });
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement