Changeset 3451271
- Timestamp:
- 02/01/2026 08:11:05 AM (2 months ago)
- Location:
- blogcard-for-wp
- Files:
-
- 2 added
- 20 edited
- 1 copied
-
tags/2.1.1 (copied) (copied from blogcard-for-wp/trunk)
-
tags/2.1.1/blogcard-for-wp.php (modified) (1 diff)
-
tags/2.1.1/build/block.json (modified) (2 diffs)
-
tags/2.1.1/build/index-rtl.css (modified) (1 diff)
-
tags/2.1.1/build/index.asset.php (modified) (1 diff)
-
tags/2.1.1/build/index.css (modified) (1 diff)
-
tags/2.1.1/build/index.js (modified) (1 diff)
-
tags/2.1.1/build/render.php (added)
-
tags/2.1.1/build/style-index-rtl.css (modified) (1 diff)
-
tags/2.1.1/build/style-index.css (modified) (1 diff)
-
tags/2.1.1/readme-ja.txt (modified) (3 diffs)
-
tags/2.1.1/readme.txt (modified) (4 diffs)
-
trunk/blogcard-for-wp.php (modified) (1 diff)
-
trunk/build/block.json (modified) (2 diffs)
-
trunk/build/index-rtl.css (modified) (1 diff)
-
trunk/build/index.asset.php (modified) (1 diff)
-
trunk/build/index.css (modified) (1 diff)
-
trunk/build/index.js (modified) (1 diff)
-
trunk/build/render.php (added)
-
trunk/build/style-index-rtl.css (modified) (1 diff)
-
trunk/build/style-index.css (modified) (1 diff)
-
trunk/readme-ja.txt (modified) (3 diffs)
-
trunk/readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
blogcard-for-wp/tags/2.1.1/blogcard-for-wp.php
r3451242 r3451271 5 5 * Plugin URI: https://wordpress.org/plugins/blogcard-for-wp/ 6 6 * Description: URLを入力してブログカードを生成するブロックプラグイン 7 * Version: 2. 0.87 * Version: 2.1.1 8 8 * Author: Takashi Fujisaki 9 9 * License: GPL v2 or later -
blogcard-for-wp/tags/2.1.1/build/block.json
r3418932 r3451271 3 3 "apiVersion": 3, 4 4 "name": "su/blogcard", 5 "version": "2. 0.0",5 "version": "2.1.0", 6 6 "title": "ブログカード", 7 7 "category": "su-blocks", … … 18 18 "editorStyle": "file:./index.css", 19 19 "style": "file:./style-index.css", 20 "render": "file:./render.php", 20 21 "supports": { 21 22 "html": false, -
blogcard-for-wp/tags/2.1.1/build/index-rtl.css
r3418932 r3451271 1 .wp-block- blogcard.is-selected{padding:1rem}.wp-block-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;right:0;overflow-y:auto;position:absolute;left:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-right:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-left:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto}1 .wp-block-su-blogcard.is-selected{padding:1rem}.wp-block-su-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;right:0;overflow-y:auto;position:absolute;left:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-right:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-left:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto} -
blogcard-for-wp/tags/2.1.1/build/index.asset.php
r3418932 r3451271 1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => ' e395c5c79d9305558fa9');1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'b6bb65f13f0b0f2321d8'); -
blogcard-for-wp/tags/2.1.1/build/index.css
r3418932 r3451271 1 .wp-block- blogcard.is-selected{padding:1rem}.wp-block-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;left:0;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-left:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-right:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto}1 .wp-block-su-blogcard.is-selected{padding:1rem}.wp-block-su-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;left:0;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-left:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-right:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto} -
blogcard-for-wp/tags/2.1.1/build/index.js
r3418932 r3451271 1 (()=>{"use strict";var e,t={486:(e,t,n)=>{const l=window.wp.blocks,r=window.React,a=window.wp.blockEditor,c=window.wp.element,o=window.wp.i18n,s=window.wp.apiFetch;var i=n.n(s);const p=window.wp.components;function u(e){return!(!e||e.length<10)&&URL.canParse(e)}function m(e){if(!e)return!1;try{const t=new URL(e),n=new URL(window.location.href).hostname,l=t.hostname;return n===l||!(!n.endsWith("."+l)&&!l.endsWith("."+n))}catch{return!1}}function d({results:e,isLoading:t,onSelect:n,onClose:l,error:a}){return(0,r.createElement)("div",{className:"wpbc-search-results"},(0,r.createElement)("div",{className:"wpbc-search-results-header"},(0,r.createElement)("span",null,(0,o.__)("検索結果","wpbc")),(0,r.createElement)("button",{type:"button",className:"wpbc-search-close",onClick:l},"×")),t?(0,r.createElement)("div",{className:"wpbc-search-loading"},(0,r.createElement)(p.Spinner,null),(0,o.__)("検索中...","wpbc")):a?(0,r.createElement)("div",{className:"wpbc-search-error",style:{color:"#cc0000",padding:"10px",textAlign:"center"}},a):e&&e.length>0?(0,r.createElement)("ul",{className:"wpbc-search-results-list"},e.map(e=>(0,r.createElement)("li",{key:e.id,className:"wpbc-search-result-item",onClick:()=>n(e)},e.thumbnail&&(0,r.createElement)("div",{className:"wpbc-search-result-thumbnail"},(0,r.createElement)("img",{src:e.thumbnail,alt:e.title,width:"60",height:"60"})),(0,r.createElement)("div",{className:"wpbc-search-result-content"},(0,r.createElement)("div",{className:"wpbc-search-result-title"},e.title),(0,r.createElement)("div",{className:"wpbc-search-result-meta"},(0,r.createElement)("span",{className:"wpbc-search-result-type"},"post"===e.type?(0,o.__)("投稿","wpbc"):(0,o.__)("固定ページ","wpbc")),(0,r.createElement)("span",{className:"wpbc-search-result-date"},e.date)),e.excerpt&&(0,r.createElement)("div",{className:"wpbc-search-result-excerpt"},e.excerpt))))):(0,r.createElement)("div",{className:"wpbc-search-no-results"},(0,o.__)("検索結果が見つかりませんでした","wpbc")))}function b({value:e,onChange:t,onKeyDown:n,onSelectResult:l,placeholder:a=(0,o.__)("https://example.com or キーワード","wpbc"),label:s=(0,o.__)("URLまたはサイト内検索","wpbc"),showSearch:m=!1,disabled:b=!1}){const h=u(e),[w,g]=(0,c.useState)([]),[_, E]=(0,c.useState)(!1),[f,v]=(0,c.useState)(!1),[y,x]=(0,c.useState)(""),C=(0,c.useRef)(null),k=(0,c.useCallback)(async e=>{if(!e||e.length<2)return g([]),v(!1),void x("");C.current&&C.current.abort(),C.current=new AbortController,E(!0),x("");try{const t=await i()({path:`/wpbc/v1/search?q=${encodeURIComponent(e)}`,method:"GET",signal:C.current.signal});t&&t.success?(g(t.data||[]),v(!0),x("")):(g([]),v(!1),x((0,o.__)("検索に失敗しました。","wpbc")))}catch(e){if("AbortError"===e.name)return;g([]),v(!1),x((0,o.__)("検索中にエラーが発生しました。","wpbc"))}finally{E(!1)}},[]);return(0,c.useEffect)(()=>{if(m&&!b){if(!e||""===e.trim())return g([]),v(!1),void x("");if(!h){const t=setTimeout(()=>{k(e)},300);return()=>{clearTimeout(t),C.current&&C.current.abort()}}g([]),v(!1),x("")}},[e,m,b,h,k]),(0,c.useEffect)(()=>{h&&(g([]),v(!1),E(!1),x(""))},[h]),(0,c.useEffect)(()=>()=>{C.current&&C.current.abort()},[]),(0,r.createElement)("div",{style:{position:"relative"}},(0,r.createElement)(p.TextControl,{label:s,value:e,onChange:t,onKeyDown:t=>{"Enter"===t.key&&(t.preventDefault(),u(e)&&n&&n(t))},placeholder:a,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),m&&!b&&e&&""!==e.trim()&&!u(e)&&(f||y)&&(0,r.createElement)(d,{results:w,isLoading:_,onSelect:e=>{t(e.url),l&&l(e),v(!1),g([])},onClose:()=>{v(!1),g([])},error:y}))}function h({attributes:e}){const{url:t,title:n,description:l,thumbnailUrl:a,thumbnailId:c,showThumbnail:o,favicon:s,target:i="_blank",noopener:p=!0,nofollow:u=!1,noreferrer:m=!1,sponsored:d=!1,ugc:b=!1,isSelected:h=!1}=e,w=[];p&&w.push("noopener"),m&&w.push("noreferrer"),u&&w.push("nofollow"),d&&w.push("sponsored"),b&&w.push("ugc");const g=w.length>0?w.join(" "):"",_=a,E=o&&_;return(0,r.createElement)("article",{className:"wp-blogcard",cite:t},(0,r.createElement)("a",{href:t,target:i||void 0,rel:g||void 0,className:"wp-blogcard-item"},E&&(0,r.createElement)("figure",{className:"wp-blogcard-figure"},(0,r.createElement)("img",{src:_,alt:"","aria-hidden":"true"})),(0,r.createElement)("div",{className:"wp-blogcard-content"},(0,r.createElement)("div",{className:"wp-blogcard-title"},n),(0,r.createElement)("div",{className:"wp-blogcard-description"},l),(0,r.createElement)("div",{className:"wp-blogcard-cite"},s&&(0,r.createElement)("img",{className:"wp-blogcard-favicon",src:s,alt:"","aria-hidden":"true"}),(0,r.createElement)("div",{className:"wp-blogcard-domain"},function(e){try{return new URL(e).hostname}catch{return""}}(t))))))}function w({url:e,cached:t,onOpenLink:n}){return(0,r.createElement)("div",{className:"blogcard-preview-footer",style:{marginTop:"10px",display:"flex",justifyContent:"space-between",alignItems:"center"}},(0,r.createElement)("div",{style:{fontSize:"12px",color:"#666",display:"flex",alignItems:"center",gap:"4px"}},t&&(0,r.createElement)("span",{style:{padding:"2px 6px",borderRadius:"3px",fontSize:"10px",fontWeight:"bold"}},"CACHED")),(0,r.createElement)(p.Button,{type:"button",className:"wpbc-show-link-button",onClick:()=>n(e),disabled:!e,variant:"secondary",size:"small"},(0,o.__)("リンク先を表示","wpbc")))}function g({error:e,errorCode:t}){return e?(0,r.createElement)("div",{style:{color:"#cc0000",fontSize:"14px",margin:"8px 0",padding:"8px 0"}},e,t&&(0,r.createElement)("span",{style:{marginLeft:"8px",color:"#666",fontSize:"12px"}},"(",t,")")):null}function _({message:e=(0,o.__)("メタデータを取得中...","wpbc")}){return(0,r.createElement)("div",{style:{textAlign:"center",padding:"1.25rem"}},(0,r.createElement)(p.Spinner,null),(0,r.createElement)("p",{style:{fontSize:"0.875rem"}},e))}function E({attributes:e,setAttributes:t,inputUrl:n,setInputUrl:l,handleKeyDown:c}){const{target:s,noopener:i,nofollow:u,noreferrer:m,sponsored:d,ugc:b,showThumbnail:h,title:w,description:g,thumbnailUrl:_,thumbnailId:E}=e,v=()=>E&&_?(0,r.createElement)("div",{style:{width:"100%",aspectRatio:"16/9",overflow:"hidden",borderRadius:"4px",backgroundColor:"#f0f0f0",display:"flex",alignItems:"center",justifyContent:"center"}},(0,r.createElement)("img",{src:_,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}})):(0,r.createElement)("div",{style:{backgroundColor:"#f0f0f0",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:"#666",fontSize:"14px"}},(0,o.__)("サムネイルを設定","wpbc"));return(0,r.createElement)(a.InspectorControls,null,(0,r.createElement)(p.PanelBody,{title:(0,o.__)("ブロック設定","wpbc"),initialOpen:!0},(0,r.createElement)(p.TextControl,{label:(0,o.__)("URL","wpbc"),value:n,onChange:e=>l(e),onKeyDown:c,placeholder:(0,o.__)("https://example.com or キーワード","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("TARGET属性","wpbc")),(0,r.createElement)(p.SelectControl,{label:(0,o.__)("TARGET属性","wpbc"),value:s,onChange:e=>{t("_blank"===e?{target:e,noopener:!0}:{target:e})},options:[{label:(0,o.__)("なし","wpbc"),value:""},{label:(0,o.__)("_blank(別タブ)","wpbc"),value:"_blank"},{label:(0,o.__)("_self (同じタブ)","wpbc"),value:"_self"}]}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("Rel属性","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("noopener を追加","wpbc"),checked:i,disabled:"_blank"===s,onChange:e=>t({noopener:e})}),"_blank"===s&&(0,r.createElement)("p",{style:{fontSize:"12px",color:"#666",margin:"8px 0"}},(0,o.__)("_blankの場合はセキュリティ上noopenerが必須です","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=nofollow を追加","wpbc"),checked:u,onChange:e=>t({nofollow:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=noreferrer を追加","wpbc"),checked:m,onChange:e=>t({noreferrer:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=sponsored を追加","wpbc"),checked:d,onChange:e=>t({sponsored:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=ugc を追加","wpbc"),checked:b,onChange:e=>t({ugc:e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("サムネイル","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("サムネイルを表示しない","wpbc"),checked:!h,onChange:e=>t({showThumbnail:!e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("タイトルを手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("タイトル","wpbc"),value:w,onChange:e=>t({title:e}),placeholder:(0,o.__)("タイトルを入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("説明文を手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("説明文","wpbc"),value:g,onChange:e=>t({description:e}),placeholder:(0,o.__)("説明文を入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)(p.BaseControl,{label:(0,o.__)("サムネイルを手動で設定","wpbc")},(0,r.createElement)(a.MediaUploadCheck,null,(0,r.createElement)(a.MediaUpload,{onSelect:e=>{t({thumbnailId:e.id,thumbnailUrl:e.url,showThumbnail:!0})},allowedTypes:["image"],value:E,render:({open:e})=>(0,r.createElement)(p.Button,{onClick:e,className:"editor-post-featured-image__toggle"},(0,r.createElement)(v,null))})),(0,r.createElement)(p.Button,{style:{marginTop:"0.5rem"},className:"is-tertiary",onClick:()=>{t({thumbnailId:0,thumbnailUrl:"",showThumbnail:!1})}},(0,o.__)("クリア","wpbc"))),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("キャッシュ管理","wpbc")),(0,r.createElement)("div",{style:{display:"flex",gap:"10px",flexWrap:"wrap"}},(0,r.createElement)(p.Button,{secondary:!0,onClick:f("plugin"),style:{fontSize:"12px"}},(0,o.__)("ブログカードキャッシュクリア","wpbc")),(0,r.createElement)(p.Button,{isDestructive:!0,onClick:()=>{confirm((0,o.__)("全てのWordPressキャッシュをクリアしますか?","wpbc"))&&f("all")()},style:{fontSize:"12px"}},(0,o.__)("全キャッシュクリア","wpbc")))))}function f(e="plugin"){return async()=>{try{const t=await i()({path:"/wpbc/v1/clear-cache",method:"POST",data:{type:e}});t.success?alert(t.message):alert((0,o.__)("キャッシュのクリアに失敗しました。","wpbc"))}catch(e){console.error("Cache clear error:",e),alert((0,o.__)("キャッシュのクリア中にエラーが発生しました。","wpbc"))}}}(0,l.registerBlockType)("su/blogcard",{edit:function({attributes:e,setAttributes:t}){const{url:n,showThumbnail:l,title:s,description:p,thumbnailUrl:d,favicon:f}=e,[v,y]=(0,c.useState)(n||""),[x,C]=(0,c.useState)(!1),[k,T]=(0,c.useState)(""),[N,S]=(0,c.useState)(""),[R,U]=(0,c.useState)(!1),O=(0,a.useBlockProps)({className:"wp-block-blogcard"}),I=O.className?.includes("is-selected")||!1,D=e=>{"Enter"===e.key&&(e.preventDefault(),u(v)&&(v!==n&&t({url:"",title:"",description:"",thumbnailUrl:"",showThumbnail:!1,favicon:""}),(async()=>{if(!v||v.trim().length<10||!u(v))return T(""),void S("");C(!0),T(""),S("");try{const e=m(v)?`/wpbc/v1/internal-metadata?url=${encodeURIComponent(v)}`:"/wpbc/v1/metadata",n=await i()({path:e,method:m(v)?"GET":"POST",data:m(v)?void 0:{url:v}});if(n.success){const e=n.data;t({url:v,title:e.title||v,description:e.description||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""}),U(!0===e.cached),T(""),S("")}else{const e=n.message||n.data?.message||(0,o.__)("メタデータの取得に失敗しました。","wpbc"),t=n.code||n.data?.code||"UNKNOWN_ERROR";T(e),S(t)}}catch(e){const t=e.status||e.code||"NETWORK_ERROR";let n=e.message||(0,o.__)("メタデータの取得中にエラーが発生しました。","wpbc");e.data&&e.data.message&&(n=e.data.message),T(n),S(t)}finally{C(!1)}})()))},z=e=>{y(e.url),T(""),S(""),U(!1),t({url:e.url,title:e.title||e.url,description:e.excerpt||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""})};return(0,r.createElement)("div",{...O},(0,r.createElement)(E,{attributes:e,setAttributes:t,inputUrl:v,setInputUrl:y,handleKeyDown:D}),n||k?(0,r.createElement)("div",null,x&&(0,r.createElement)(_,null),I&&(0,r.createElement)(b,{key:"selected-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}),(0,r.createElement)(g,{error:k,errorCode:N}),!x&&!k&&n&&(0,r.createElement)("div",{className:"blogcard-preview"},(0,r.createElement)(h,{attributes:{url:n,title:s,description:p,thumbnailUrl:d,showThumbnail:l,favicon:f,isSelected:I}}),I&&(0,r.createElement)(w,{url:n,cached:R,onOpenLink:e=>{window.open(e,"_blank")}}))):(0,r.createElement)(b,{key:"placeholder-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}))},save:function({attributes:e}){const t=a.useBlockProps.save();return(0,r.createElement)("div",{...t},(0,r.createElement)(h,{attributes:e}))}})}},n={};function l(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,l),a.exports}l.m=t,e=[],l.O=(t,n,r,a)=>{if(!n){var c=1/0;for(p=0;p<e.length;p++){for(var[n,r,a]=e[p],o=!0,s=0;s<n.length;s++)(!1&a||c>=a)&&Object.keys(l.O).every(e=>l.O[e](n[s]))?n.splice(s--,1):(o=!1,a<c&&(c=a));if(o){e.splice(p--,1);var i=r();void 0!==i&&(t=i)}}return t}a=a||0;for(var p=e.length;p>0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[n,r,a]},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};l.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[c,o,s]=n,i=0;if(c.some(t=>0!==e[t])){for(r in o)l.o(o,r)&&(l.m[r]=o[r]);if(s)var p=s(l)}for(t&&t(n);i<c.length;i++)a=c[i],l.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return l.O(p)},n=globalThis.webpackChunkblogcard_for_wp=globalThis.webpackChunkblogcard_for_wp||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var r=l.O(void 0,[350],()=>l(486));r=l.O(r)})();1 (()=>{"use strict";var e,t={486:(e,t,n)=>{const l=window.wp.blocks,r=window.React,a=window.wp.blockEditor,c=window.wp.element,o=window.wp.i18n,s=window.wp.apiFetch;var i=n.n(s);const p=window.wp.components;function u(e){return!(!e||e.length<10)&&URL.canParse(e)}function m(e){if(!e)return!1;try{const t=new URL(e),n=new URL(window.location.href).hostname,l=t.hostname;return n===l||!(!n.endsWith("."+l)&&!l.endsWith("."+n))}catch{return!1}}function d({results:e,isLoading:t,onSelect:n,onClose:l,error:a}){return(0,r.createElement)("div",{className:"wpbc-search-results"},(0,r.createElement)("div",{className:"wpbc-search-results-header"},(0,r.createElement)("span",null,(0,o.__)("検索結果","wpbc")),(0,r.createElement)("button",{type:"button",className:"wpbc-search-close",onClick:l},"×")),t?(0,r.createElement)("div",{className:"wpbc-search-loading"},(0,r.createElement)(p.Spinner,null),(0,o.__)("検索中...","wpbc")):a?(0,r.createElement)("div",{className:"wpbc-search-error",style:{color:"#cc0000",padding:"10px",textAlign:"center"}},a):e&&e.length>0?(0,r.createElement)("ul",{className:"wpbc-search-results-list"},e.map(e=>(0,r.createElement)("li",{key:e.id,className:"wpbc-search-result-item",onClick:()=>n(e)},e.thumbnail&&(0,r.createElement)("div",{className:"wpbc-search-result-thumbnail"},(0,r.createElement)("img",{src:e.thumbnail,alt:e.title,width:"60",height:"60"})),(0,r.createElement)("div",{className:"wpbc-search-result-content"},(0,r.createElement)("div",{className:"wpbc-search-result-title"},e.title),(0,r.createElement)("div",{className:"wpbc-search-result-meta"},(0,r.createElement)("span",{className:"wpbc-search-result-type"},"post"===e.type?(0,o.__)("投稿","wpbc"):(0,o.__)("固定ページ","wpbc")),(0,r.createElement)("span",{className:"wpbc-search-result-date"},e.date)),e.excerpt&&(0,r.createElement)("div",{className:"wpbc-search-result-excerpt"},e.excerpt))))):(0,r.createElement)("div",{className:"wpbc-search-no-results"},(0,o.__)("検索結果が見つかりませんでした","wpbc")))}function b({value:e,onChange:t,onKeyDown:n,onSelectResult:l,placeholder:a=(0,o.__)("https://example.com or キーワード","wpbc"),label:s=(0,o.__)("URLまたはサイト内検索","wpbc"),showSearch:m=!1,disabled:b=!1}){const h=u(e),[w,g]=(0,c.useState)([]),[_,f]=(0,c.useState)(!1),[E,v]=(0,c.useState)(!1),[y,x]=(0,c.useState)(""),C=(0,c.useRef)(null),k=(0,c.useCallback)(async e=>{if(!e||e.length<2)return g([]),v(!1),void x("");C.current&&C.current.abort(),C.current=new AbortController,f(!0),x("");try{const t=await i()({path:`/wpbc/v1/search?q=${encodeURIComponent(e)}`,method:"GET",signal:C.current.signal});t&&t.success?(g(t.data||[]),v(!0),x("")):(g([]),v(!1),x((0,o.__)("検索に失敗しました。","wpbc")))}catch(e){if("AbortError"===e.name)return;g([]),v(!1),x((0,o.__)("検索中にエラーが発生しました。","wpbc"))}finally{f(!1)}},[]);return(0,c.useEffect)(()=>{if(m&&!b){if(!e||""===e.trim())return g([]),v(!1),void x("");if(!h){const t=setTimeout(()=>{k(e)},300);return()=>{clearTimeout(t),C.current&&C.current.abort()}}g([]),v(!1),x("")}},[e,m,b,h,k]),(0,c.useEffect)(()=>{h&&(g([]),v(!1),f(!1),x(""))},[h]),(0,c.useEffect)(()=>()=>{C.current&&C.current.abort()},[]),(0,r.createElement)("div",{style:{position:"relative"}},(0,r.createElement)(p.TextControl,{label:s,value:e,onChange:t,onKeyDown:t=>{"Enter"===t.key&&(t.preventDefault(),u(e)&&n&&n(t))},placeholder:a,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),m&&!b&&e&&""!==e.trim()&&!u(e)&&(E||y)&&(0,r.createElement)(d,{results:w,isLoading:_,onSelect:e=>{t(e.url),l&&l(e),v(!1),g([])},onClose:()=>{v(!1),g([])},error:y}))}function h({attributes:e}){const{url:t,title:n,description:l,thumbnailUrl:a,thumbnailId:c,showThumbnail:o,favicon:s,target:i="_blank",noopener:p=!0,nofollow:u=!1,noreferrer:m=!1,sponsored:d=!1,ugc:b=!1,isSelected:h=!1}=e,w=[];p&&w.push("noopener"),m&&w.push("noreferrer"),u&&w.push("nofollow"),d&&w.push("sponsored"),b&&w.push("ugc");const g=w.length>0?w.join(" "):"",_=a,f=o&&_;return(0,r.createElement)("article",{className:"wp-blogcard",cite:t},(0,r.createElement)("a",{href:t,target:i||void 0,rel:g||void 0,className:"wp-blogcard-item"},f&&(0,r.createElement)("figure",{className:"wp-blogcard-figure"},(0,r.createElement)("img",{src:_,alt:"","aria-hidden":"true"})),(0,r.createElement)("div",{className:"wp-blogcard-content"},(0,r.createElement)("div",{className:"wp-blogcard-title"},n),(0,r.createElement)("div",{className:"wp-blogcard-description"},l),(0,r.createElement)("div",{className:"wp-blogcard-cite"},s&&(0,r.createElement)("img",{className:"wp-blogcard-favicon",src:s,alt:"","aria-hidden":"true"}),(0,r.createElement)("div",{className:"wp-blogcard-domain"},function(e){try{return new URL(e).hostname}catch{return""}}(t))))))}function w({url:e,cached:t,onOpenLink:n}){return(0,r.createElement)("div",{className:"blogcard-preview-footer",style:{marginTop:"10px",display:"flex",justifyContent:"space-between",alignItems:"center"}},(0,r.createElement)("div",{style:{fontSize:"12px",color:"#666",display:"flex",alignItems:"center",gap:"4px"}},t&&(0,r.createElement)("span",{style:{padding:"2px 6px",borderRadius:"3px",fontSize:"10px",fontWeight:"bold"}},"CACHED")),(0,r.createElement)(p.Button,{type:"button",className:"wpbc-show-link-button",onClick:()=>n(e),disabled:!e,variant:"secondary",size:"small"},(0,o.__)("リンク先を表示","wpbc")))}function g({error:e,errorCode:t}){return e?(0,r.createElement)("div",{style:{color:"#cc0000",fontSize:"14px",margin:"8px 0",padding:"8px 0"}},e,t&&(0,r.createElement)("span",{style:{marginLeft:"8px",color:"#666",fontSize:"12px"}},"(",t,")")):null}function _({message:e=(0,o.__)("メタデータを取得中...","wpbc")}){return(0,r.createElement)("div",{style:{textAlign:"center",padding:"1.25rem"}},(0,r.createElement)(p.Spinner,null),(0,r.createElement)("p",{style:{fontSize:"0.875rem"}},e))}function f({attributes:e,setAttributes:t,inputUrl:n,setInputUrl:l,handleKeyDown:c}){const{target:s,noopener:i,nofollow:u,noreferrer:m,sponsored:d,ugc:b,showThumbnail:h,title:w,description:g,thumbnailUrl:_,thumbnailId:f}=e,v=()=>f&&_?(0,r.createElement)("div",{style:{width:"100%",aspectRatio:"16/9",overflow:"hidden",borderRadius:"4px",backgroundColor:"#f0f0f0",display:"flex",alignItems:"center",justifyContent:"center"}},(0,r.createElement)("img",{src:_,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}})):(0,r.createElement)("div",{style:{backgroundColor:"#f0f0f0",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:"#666",fontSize:"14px"}},(0,o.__)("サムネイルを設定","wpbc"));return(0,r.createElement)(a.InspectorControls,null,(0,r.createElement)(p.PanelBody,{title:(0,o.__)("ブロック設定","wpbc"),initialOpen:!0},(0,r.createElement)(p.TextControl,{label:(0,o.__)("URL","wpbc"),value:n,onChange:e=>l(e),onKeyDown:c,placeholder:(0,o.__)("https://example.com or キーワード","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("TARGET属性","wpbc")),(0,r.createElement)(p.SelectControl,{label:(0,o.__)("TARGET属性","wpbc"),value:s,onChange:e=>{t("_blank"===e?{target:e,noopener:!0}:{target:e})},options:[{label:(0,o.__)("なし","wpbc"),value:""},{label:(0,o.__)("_blank(別タブ)","wpbc"),value:"_blank"},{label:(0,o.__)("_self (同じタブ)","wpbc"),value:"_self"}]}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("Rel属性","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("noopener を追加","wpbc"),checked:i,disabled:"_blank"===s,onChange:e=>t({noopener:e})}),"_blank"===s&&(0,r.createElement)("p",{style:{fontSize:"12px",color:"#666",margin:"8px 0"}},(0,o.__)("_blankの場合はセキュリティ上noopenerが必須です","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=nofollow を追加","wpbc"),checked:u,onChange:e=>t({nofollow:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=noreferrer を追加","wpbc"),checked:m,onChange:e=>t({noreferrer:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=sponsored を追加","wpbc"),checked:d,onChange:e=>t({sponsored:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=ugc を追加","wpbc"),checked:b,onChange:e=>t({ugc:e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("サムネイル","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("サムネイルを表示しない","wpbc"),checked:!h,onChange:e=>t({showThumbnail:!e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("タイトルを手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("タイトル","wpbc"),value:w,onChange:e=>t({title:e}),placeholder:(0,o.__)("タイトルを入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("説明文を手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("説明文","wpbc"),value:g,onChange:e=>t({description:e}),placeholder:(0,o.__)("説明文を入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)(p.BaseControl,{label:(0,o.__)("サムネイルを手動で設定","wpbc")},(0,r.createElement)(a.MediaUploadCheck,null,(0,r.createElement)(a.MediaUpload,{onSelect:e=>{t({thumbnailId:e.id,thumbnailUrl:e.url,showThumbnail:!0})},allowedTypes:["image"],value:f,render:({open:e})=>(0,r.createElement)(p.Button,{onClick:e,className:"editor-post-featured-image__toggle"},(0,r.createElement)(v,null))})),(0,r.createElement)(p.Button,{style:{marginTop:"0.5rem"},className:"is-tertiary",onClick:()=>{t({thumbnailId:0,thumbnailUrl:"",showThumbnail:!1})}},(0,o.__)("クリア","wpbc"))),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("キャッシュ管理","wpbc")),(0,r.createElement)("div",{style:{display:"flex",gap:"10px",flexWrap:"wrap"}},(0,r.createElement)(p.Button,{secondary:!0,onClick:E("plugin"),style:{fontSize:"12px"}},(0,o.__)("ブログカードキャッシュクリア","wpbc")),(0,r.createElement)(p.Button,{isDestructive:!0,onClick:()=>{confirm((0,o.__)("全てのWordPressキャッシュをクリアしますか?","wpbc"))&&E("all")()},style:{fontSize:"12px"}},(0,o.__)("全キャッシュクリア","wpbc")))))}function E(e="plugin"){return async()=>{try{const t=await i()({path:"/wpbc/v1/clear-cache",method:"POST",data:{type:e}});t.success?alert(t.message):alert((0,o.__)("キャッシュのクリアに失敗しました。","wpbc"))}catch(e){console.error("Cache clear error:",e),alert((0,o.__)("キャッシュのクリア中にエラーが発生しました。","wpbc"))}}}(0,l.registerBlockType)("su/blogcard",{edit:function({attributes:e,setAttributes:t}){const{url:n,showThumbnail:l,title:s,description:p,thumbnailUrl:d,favicon:E}=e,[v,y]=(0,c.useState)(n||""),[x,C]=(0,c.useState)(!1),[k,T]=(0,c.useState)(""),[N,S]=(0,c.useState)(""),[R,U]=(0,c.useState)(!1),O=(0,a.useBlockProps)(),I=O.className?.includes("is-selected")||!1,D=e=>{"Enter"===e.key&&(e.preventDefault(),u(v)&&(v!==n&&t({url:"",title:"",description:"",thumbnailUrl:"",showThumbnail:!1,favicon:""}),(async()=>{if(!v||v.trim().length<10||!u(v))return T(""),void S("");C(!0),T(""),S("");try{const e=m(v)?`/wpbc/v1/internal-metadata?url=${encodeURIComponent(v)}`:"/wpbc/v1/metadata",n=await i()({path:e,method:m(v)?"GET":"POST",data:m(v)?void 0:{url:v}});if(n.success){const e=n.data;t({url:v,title:e.title||v,description:e.description||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""}),U(!0===e.cached),T(""),S("")}else{const e=n.message||n.data?.message||(0,o.__)("メタデータの取得に失敗しました。","wpbc"),t=n.code||n.data?.code||"UNKNOWN_ERROR";T(e),S(t)}}catch(e){const t=e.status||e.code||"NETWORK_ERROR";let n=e.message||(0,o.__)("メタデータの取得中にエラーが発生しました。","wpbc");e.data&&e.data.message&&(n=e.data.message),T(n),S(t)}finally{C(!1)}})()))},z=e=>{y(e.url),T(""),S(""),U(!1),t({url:e.url,title:e.title||e.url,description:e.excerpt||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""})};return(0,r.createElement)("div",{...O},(0,r.createElement)(f,{attributes:e,setAttributes:t,inputUrl:v,setInputUrl:y,handleKeyDown:D}),n||k?(0,r.createElement)("div",null,x&&(0,r.createElement)(_,null),I&&(0,r.createElement)(b,{key:"selected-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}),(0,r.createElement)(g,{error:k,errorCode:N}),!x&&!k&&n&&(0,r.createElement)("div",{className:"blogcard-preview"},(0,r.createElement)(h,{attributes:{url:n,title:s,description:p,thumbnailUrl:d,showThumbnail:l,favicon:E,isSelected:I}}),I&&(0,r.createElement)(w,{url:n,cached:R,onOpenLink:e=>{window.open(e,"_blank")}}))):(0,r.createElement)(b,{key:"placeholder-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}))},save:function(){return null}})}},n={};function l(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,l),a.exports}l.m=t,e=[],l.O=(t,n,r,a)=>{if(!n){var c=1/0;for(p=0;p<e.length;p++){for(var[n,r,a]=e[p],o=!0,s=0;s<n.length;s++)(!1&a||c>=a)&&Object.keys(l.O).every(e=>l.O[e](n[s]))?n.splice(s--,1):(o=!1,a<c&&(c=a));if(o){e.splice(p--,1);var i=r();void 0!==i&&(t=i)}}return t}a=a||0;for(var p=e.length;p>0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[n,r,a]},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};l.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[c,o,s]=n,i=0;if(c.some(t=>0!==e[t])){for(r in o)l.o(o,r)&&(l.m[r]=o[r]);if(s)var p=s(l)}for(t&&t(n);i<c.length;i++)a=c[i],l.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return l.O(p)},n=globalThis.webpackChunkblogcard_for_wp=globalThis.webpackChunkblogcard_for_wp||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var r=l.O(void 0,[350],()=>l(486));r=l.O(r)})(); -
blogcard-for-wp/tags/2.1.1/build/style-index-rtl.css
r3441620 r3451271 1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0. 125rem;--padding:1rem 1.25rem;--gap:1rem;--image-width:5rem;--image-height:5rem}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);padding:var(--padding);text-decoration:none!important}.wp-blogcard-figure{flex-shrink:0;height:var(--image-height);margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{border-radius:var(--border-radius);height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem}.wp-blogcard-title{color:var(--color-text);font-size:.875rem;font-weight:700}.wp-blogcard-description,.wp-blogcard-title{display:-webkit-box;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{color:var(--color-text-light);font-size:.75rem;hyphens:auto}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-left:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard{--padding:1.25rem;--gap:1.25rem;--image-width:6rem;--image-height:6rem}.wp-blogcard-title{font-size:1rem}.wp-blogcard-domain{font-size:.75rem}}1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0.75rem;--padding:1.25rem 1.5rem;--gap:1.5rem;--image-width:28%}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);overflow:hidden;transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);text-decoration:none!important}.wp-blogcard-figure{align-self:stretch;flex-shrink:0;height:auto;margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:var(--padding);padding-left:0}.wp-blogcard-title{color:var(--color-text);display:-webkit-box;font-kerning:normal;font-size:.875rem;font-weight:700;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{display:none}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-left:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard-title{font-size:1rem}.wp-blogcard-description{color:var(--color-text-light);display:-webkit-box;font-size:.75rem;hyphens:auto;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-domain{font-size:.75rem}} -
blogcard-for-wp/tags/2.1.1/build/style-index.css
r3441620 r3451271 1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0. 125rem;--padding:1rem 1.25rem;--gap:1rem;--image-width:5rem;--image-height:5rem}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);padding:var(--padding);text-decoration:none!important}.wp-blogcard-figure{flex-shrink:0;height:var(--image-height);margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{border-radius:var(--border-radius);height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem}.wp-blogcard-title{color:var(--color-text);font-size:.875rem;font-weight:700}.wp-blogcard-description,.wp-blogcard-title{display:-webkit-box;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{color:var(--color-text-light);font-size:.75rem;hyphens:auto}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-right:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard{--padding:1.25rem;--gap:1.25rem;--image-width:6rem;--image-height:6rem}.wp-blogcard-title{font-size:1rem}.wp-blogcard-domain{font-size:.75rem}}1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0.75rem;--padding:1.25rem 1.5rem;--gap:1.5rem;--image-width:28%}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);overflow:hidden;transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);text-decoration:none!important}.wp-blogcard-figure{align-self:stretch;flex-shrink:0;height:auto;margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:var(--padding);padding-right:0}.wp-blogcard-title{color:var(--color-text);display:-webkit-box;font-kerning:normal;font-size:.875rem;font-weight:700;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{display:none}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-right:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard-title{font-size:1rem}.wp-blogcard-description{color:var(--color-text-light);display:-webkit-box;font-size:.75rem;hyphens:auto;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-domain{font-size:.75rem}} -
blogcard-for-wp/tags/2.1.1/readme-ja.txt
r3451242 r3451271 5 5 Tested up to: 6.8.2 6 6 Requires PHP: 7.4 7 Stable tag: 2. 0.87 Stable tag: 2.1.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 18 18 バージョン2.0.0からの新機能で、サイト内検索からブログカードを作ることができるようになりました。 19 19 これによって、自分のサイト内の記事を検索ワードからブログカード化できるようになりました。 20 21 > **【重要な変更点】(2.1.0〜)** 22 > ダイナミックブロックへの変更ついて: 本バージョンから、ブロックのHTML構造はサーバー側で自動生成されるようになりました。 23 > 理由は、将来的なプラグインのアップデートにより内部構造が変更された際も、ブロックが壊れることなく安定して表示され続けるようにするためです(内部構造の変更によるブロック破損エラーの防止)。 24 > **注意:** エディターの「HTMLとして編集」で行ったHTMLの直接編集は、サーバー側のレンダリングで上書きされ無効になります。 25 > **リカバリー表示:** アップデート後に「ブロックのリカバリーを試行」などの表示が出た場合は、ボタンを押してリカバリー(復旧)を行ってください。 20 26 21 27 == 主な機能 == … … 95 101 == Changelog == 96 102 103 = 2.1.0 = 104 * 【重要】ダイナミックブロック(Server Side Rendering)への移行。 105 * note: 「HTMLとして編集」での編集内容は反映されなくなります。 106 * 内部処理の最適化。 107 97 108 = 2.0.8 = 98 109 * バージョン更新。 -
blogcard-for-wp/tags/2.1.1/readme.txt
r3451242 r3451271 5 5 Tested up to: 6.9 6 6 Requires PHP: 7.4 7 Stable tag: 2. 0.87 Stable tag: 2.1.1 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 21 21 New features from version 2.0.0 include the ability to create blog cards from site search. 22 22 This allows you to search for articles within your own site and convert them into blog cards. 23 24 > **Important Notice:** 25 > Starting from version 2.1.0, the block is rendered dynamically on the server side to improve stability. 26 > **Note:** Manual edits made via "Edit as HTML" will be reset to the standard design. 27 > If you see "Attempt Block Recovery" after updating, please click the button to recover the block. 23 28 24 29 == Key Features == … … 98 103 == Changelog == 99 104 105 = 2.1.1 = 106 * Bug fixes. 107 * Update CSS. 108 109 = 2.1.0 = 110 * Major Update: Switched to Server Side Rendering (Dynamic Block) to improve stability and prevent block validation errors. 111 * Performance: Improved rendering performance by utilizing server-side processing. 112 * Note: Manual HTML edits via "Edit as HTML" will be overridden by the dynamic renderer. 113 100 114 = 2.0.8 = 101 115 * Update version. … … 126 140 127 141 == Upgrade Notice == 142 143 = 2.1.0 = 144 Major Update: Switched to Server Side Rendering for better stability. Please check your block appearance. 128 145 129 146 = 2.0.0 = -
blogcard-for-wp/trunk/blogcard-for-wp.php
r3451242 r3451271 5 5 * Plugin URI: https://wordpress.org/plugins/blogcard-for-wp/ 6 6 * Description: URLを入力してブログカードを生成するブロックプラグイン 7 * Version: 2. 0.87 * Version: 2.1.1 8 8 * Author: Takashi Fujisaki 9 9 * License: GPL v2 or later -
blogcard-for-wp/trunk/build/block.json
r3418932 r3451271 3 3 "apiVersion": 3, 4 4 "name": "su/blogcard", 5 "version": "2. 0.0",5 "version": "2.1.0", 6 6 "title": "ブログカード", 7 7 "category": "su-blocks", … … 18 18 "editorStyle": "file:./index.css", 19 19 "style": "file:./style-index.css", 20 "render": "file:./render.php", 20 21 "supports": { 21 22 "html": false, -
blogcard-for-wp/trunk/build/index-rtl.css
r3418932 r3451271 1 .wp-block- blogcard.is-selected{padding:1rem}.wp-block-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;right:0;overflow-y:auto;position:absolute;left:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-right:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-left:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto}1 .wp-block-su-blogcard.is-selected{padding:1rem}.wp-block-su-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;right:0;overflow-y:auto;position:absolute;left:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-right:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-left:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto} -
blogcard-for-wp/trunk/build/index.asset.php
r3418932 r3451271 1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => ' e395c5c79d9305558fa9');1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'b6bb65f13f0b0f2321d8'); -
blogcard-for-wp/trunk/build/index.css
r3418932 r3451271 1 .wp-block- blogcard.is-selected{padding:1rem}.wp-block-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;left:0;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-left:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-right:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto}1 .wp-block-su-blogcard.is-selected{padding:1rem}.wp-block-su-blogcard:not(.is-selected){& .wp-blogcard{margin:0!important}}.wp-blogcard-item{pointer-events:none}.wpbc-search-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;left:0;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.wpbc-search-results-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:8px 12px}.wpbc-search-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.wpbc-search-close:hover{background:#e9ecef;color:#333}.wpbc-search-results-list{margin:0;max-height:400px;overflow-y:auto;padding-left:0}.wpbc-search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row-reverse;padding:12px;transition:background-color .2s}.wpbc-search-result-item:hover{background-color:#f8f9fa}.wpbc-search-result-item:last-child{border-bottom:none}.wpbc-search-result-thumbnail{flex-shrink:0;height:50px;margin-right:12px}.wpbc-search-result-thumbnail img{border-radius:4px;height:50px;object-fit:cover;width:50px}.wpbc-search-result-content{flex:1;min-width:0}.wpbc-search-result-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpbc-search-result-meta{color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.wpbc-search-result-type{background:#e9ecef;border-radius:3px;font-size:11px;padding:2px 6px}.wpbc-search-result-excerpt{color:#666;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;-webkit-box-orient:vertical}.wpbc-search-loading,.wpbc-search-no-results{color:#666;font-size:14px;padding:20px;text-align:center}.wpbc-show-link-button{cursor:pointer;font-size:.75rem}.blogcard-url-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.blogcard-actions{text-align:center}.blogcard-actions .button{margin:0 5px}.editor-post-featured-image__toggle:has(* img){aspect-ratio:16/9;height:auto} -
blogcard-for-wp/trunk/build/index.js
r3418932 r3451271 1 (()=>{"use strict";var e,t={486:(e,t,n)=>{const l=window.wp.blocks,r=window.React,a=window.wp.blockEditor,c=window.wp.element,o=window.wp.i18n,s=window.wp.apiFetch;var i=n.n(s);const p=window.wp.components;function u(e){return!(!e||e.length<10)&&URL.canParse(e)}function m(e){if(!e)return!1;try{const t=new URL(e),n=new URL(window.location.href).hostname,l=t.hostname;return n===l||!(!n.endsWith("."+l)&&!l.endsWith("."+n))}catch{return!1}}function d({results:e,isLoading:t,onSelect:n,onClose:l,error:a}){return(0,r.createElement)("div",{className:"wpbc-search-results"},(0,r.createElement)("div",{className:"wpbc-search-results-header"},(0,r.createElement)("span",null,(0,o.__)("検索結果","wpbc")),(0,r.createElement)("button",{type:"button",className:"wpbc-search-close",onClick:l},"×")),t?(0,r.createElement)("div",{className:"wpbc-search-loading"},(0,r.createElement)(p.Spinner,null),(0,o.__)("検索中...","wpbc")):a?(0,r.createElement)("div",{className:"wpbc-search-error",style:{color:"#cc0000",padding:"10px",textAlign:"center"}},a):e&&e.length>0?(0,r.createElement)("ul",{className:"wpbc-search-results-list"},e.map(e=>(0,r.createElement)("li",{key:e.id,className:"wpbc-search-result-item",onClick:()=>n(e)},e.thumbnail&&(0,r.createElement)("div",{className:"wpbc-search-result-thumbnail"},(0,r.createElement)("img",{src:e.thumbnail,alt:e.title,width:"60",height:"60"})),(0,r.createElement)("div",{className:"wpbc-search-result-content"},(0,r.createElement)("div",{className:"wpbc-search-result-title"},e.title),(0,r.createElement)("div",{className:"wpbc-search-result-meta"},(0,r.createElement)("span",{className:"wpbc-search-result-type"},"post"===e.type?(0,o.__)("投稿","wpbc"):(0,o.__)("固定ページ","wpbc")),(0,r.createElement)("span",{className:"wpbc-search-result-date"},e.date)),e.excerpt&&(0,r.createElement)("div",{className:"wpbc-search-result-excerpt"},e.excerpt))))):(0,r.createElement)("div",{className:"wpbc-search-no-results"},(0,o.__)("検索結果が見つかりませんでした","wpbc")))}function b({value:e,onChange:t,onKeyDown:n,onSelectResult:l,placeholder:a=(0,o.__)("https://example.com or キーワード","wpbc"),label:s=(0,o.__)("URLまたはサイト内検索","wpbc"),showSearch:m=!1,disabled:b=!1}){const h=u(e),[w,g]=(0,c.useState)([]),[_, E]=(0,c.useState)(!1),[f,v]=(0,c.useState)(!1),[y,x]=(0,c.useState)(""),C=(0,c.useRef)(null),k=(0,c.useCallback)(async e=>{if(!e||e.length<2)return g([]),v(!1),void x("");C.current&&C.current.abort(),C.current=new AbortController,E(!0),x("");try{const t=await i()({path:`/wpbc/v1/search?q=${encodeURIComponent(e)}`,method:"GET",signal:C.current.signal});t&&t.success?(g(t.data||[]),v(!0),x("")):(g([]),v(!1),x((0,o.__)("検索に失敗しました。","wpbc")))}catch(e){if("AbortError"===e.name)return;g([]),v(!1),x((0,o.__)("検索中にエラーが発生しました。","wpbc"))}finally{E(!1)}},[]);return(0,c.useEffect)(()=>{if(m&&!b){if(!e||""===e.trim())return g([]),v(!1),void x("");if(!h){const t=setTimeout(()=>{k(e)},300);return()=>{clearTimeout(t),C.current&&C.current.abort()}}g([]),v(!1),x("")}},[e,m,b,h,k]),(0,c.useEffect)(()=>{h&&(g([]),v(!1),E(!1),x(""))},[h]),(0,c.useEffect)(()=>()=>{C.current&&C.current.abort()},[]),(0,r.createElement)("div",{style:{position:"relative"}},(0,r.createElement)(p.TextControl,{label:s,value:e,onChange:t,onKeyDown:t=>{"Enter"===t.key&&(t.preventDefault(),u(e)&&n&&n(t))},placeholder:a,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),m&&!b&&e&&""!==e.trim()&&!u(e)&&(f||y)&&(0,r.createElement)(d,{results:w,isLoading:_,onSelect:e=>{t(e.url),l&&l(e),v(!1),g([])},onClose:()=>{v(!1),g([])},error:y}))}function h({attributes:e}){const{url:t,title:n,description:l,thumbnailUrl:a,thumbnailId:c,showThumbnail:o,favicon:s,target:i="_blank",noopener:p=!0,nofollow:u=!1,noreferrer:m=!1,sponsored:d=!1,ugc:b=!1,isSelected:h=!1}=e,w=[];p&&w.push("noopener"),m&&w.push("noreferrer"),u&&w.push("nofollow"),d&&w.push("sponsored"),b&&w.push("ugc");const g=w.length>0?w.join(" "):"",_=a,E=o&&_;return(0,r.createElement)("article",{className:"wp-blogcard",cite:t},(0,r.createElement)("a",{href:t,target:i||void 0,rel:g||void 0,className:"wp-blogcard-item"},E&&(0,r.createElement)("figure",{className:"wp-blogcard-figure"},(0,r.createElement)("img",{src:_,alt:"","aria-hidden":"true"})),(0,r.createElement)("div",{className:"wp-blogcard-content"},(0,r.createElement)("div",{className:"wp-blogcard-title"},n),(0,r.createElement)("div",{className:"wp-blogcard-description"},l),(0,r.createElement)("div",{className:"wp-blogcard-cite"},s&&(0,r.createElement)("img",{className:"wp-blogcard-favicon",src:s,alt:"","aria-hidden":"true"}),(0,r.createElement)("div",{className:"wp-blogcard-domain"},function(e){try{return new URL(e).hostname}catch{return""}}(t))))))}function w({url:e,cached:t,onOpenLink:n}){return(0,r.createElement)("div",{className:"blogcard-preview-footer",style:{marginTop:"10px",display:"flex",justifyContent:"space-between",alignItems:"center"}},(0,r.createElement)("div",{style:{fontSize:"12px",color:"#666",display:"flex",alignItems:"center",gap:"4px"}},t&&(0,r.createElement)("span",{style:{padding:"2px 6px",borderRadius:"3px",fontSize:"10px",fontWeight:"bold"}},"CACHED")),(0,r.createElement)(p.Button,{type:"button",className:"wpbc-show-link-button",onClick:()=>n(e),disabled:!e,variant:"secondary",size:"small"},(0,o.__)("リンク先を表示","wpbc")))}function g({error:e,errorCode:t}){return e?(0,r.createElement)("div",{style:{color:"#cc0000",fontSize:"14px",margin:"8px 0",padding:"8px 0"}},e,t&&(0,r.createElement)("span",{style:{marginLeft:"8px",color:"#666",fontSize:"12px"}},"(",t,")")):null}function _({message:e=(0,o.__)("メタデータを取得中...","wpbc")}){return(0,r.createElement)("div",{style:{textAlign:"center",padding:"1.25rem"}},(0,r.createElement)(p.Spinner,null),(0,r.createElement)("p",{style:{fontSize:"0.875rem"}},e))}function E({attributes:e,setAttributes:t,inputUrl:n,setInputUrl:l,handleKeyDown:c}){const{target:s,noopener:i,nofollow:u,noreferrer:m,sponsored:d,ugc:b,showThumbnail:h,title:w,description:g,thumbnailUrl:_,thumbnailId:E}=e,v=()=>E&&_?(0,r.createElement)("div",{style:{width:"100%",aspectRatio:"16/9",overflow:"hidden",borderRadius:"4px",backgroundColor:"#f0f0f0",display:"flex",alignItems:"center",justifyContent:"center"}},(0,r.createElement)("img",{src:_,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}})):(0,r.createElement)("div",{style:{backgroundColor:"#f0f0f0",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:"#666",fontSize:"14px"}},(0,o.__)("サムネイルを設定","wpbc"));return(0,r.createElement)(a.InspectorControls,null,(0,r.createElement)(p.PanelBody,{title:(0,o.__)("ブロック設定","wpbc"),initialOpen:!0},(0,r.createElement)(p.TextControl,{label:(0,o.__)("URL","wpbc"),value:n,onChange:e=>l(e),onKeyDown:c,placeholder:(0,o.__)("https://example.com or キーワード","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("TARGET属性","wpbc")),(0,r.createElement)(p.SelectControl,{label:(0,o.__)("TARGET属性","wpbc"),value:s,onChange:e=>{t("_blank"===e?{target:e,noopener:!0}:{target:e})},options:[{label:(0,o.__)("なし","wpbc"),value:""},{label:(0,o.__)("_blank(別タブ)","wpbc"),value:"_blank"},{label:(0,o.__)("_self (同じタブ)","wpbc"),value:"_self"}]}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("Rel属性","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("noopener を追加","wpbc"),checked:i,disabled:"_blank"===s,onChange:e=>t({noopener:e})}),"_blank"===s&&(0,r.createElement)("p",{style:{fontSize:"12px",color:"#666",margin:"8px 0"}},(0,o.__)("_blankの場合はセキュリティ上noopenerが必須です","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=nofollow を追加","wpbc"),checked:u,onChange:e=>t({nofollow:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=noreferrer を追加","wpbc"),checked:m,onChange:e=>t({noreferrer:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=sponsored を追加","wpbc"),checked:d,onChange:e=>t({sponsored:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=ugc を追加","wpbc"),checked:b,onChange:e=>t({ugc:e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("サムネイル","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("サムネイルを表示しない","wpbc"),checked:!h,onChange:e=>t({showThumbnail:!e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("タイトルを手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("タイトル","wpbc"),value:w,onChange:e=>t({title:e}),placeholder:(0,o.__)("タイトルを入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("説明文を手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("説明文","wpbc"),value:g,onChange:e=>t({description:e}),placeholder:(0,o.__)("説明文を入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)(p.BaseControl,{label:(0,o.__)("サムネイルを手動で設定","wpbc")},(0,r.createElement)(a.MediaUploadCheck,null,(0,r.createElement)(a.MediaUpload,{onSelect:e=>{t({thumbnailId:e.id,thumbnailUrl:e.url,showThumbnail:!0})},allowedTypes:["image"],value:E,render:({open:e})=>(0,r.createElement)(p.Button,{onClick:e,className:"editor-post-featured-image__toggle"},(0,r.createElement)(v,null))})),(0,r.createElement)(p.Button,{style:{marginTop:"0.5rem"},className:"is-tertiary",onClick:()=>{t({thumbnailId:0,thumbnailUrl:"",showThumbnail:!1})}},(0,o.__)("クリア","wpbc"))),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("キャッシュ管理","wpbc")),(0,r.createElement)("div",{style:{display:"flex",gap:"10px",flexWrap:"wrap"}},(0,r.createElement)(p.Button,{secondary:!0,onClick:f("plugin"),style:{fontSize:"12px"}},(0,o.__)("ブログカードキャッシュクリア","wpbc")),(0,r.createElement)(p.Button,{isDestructive:!0,onClick:()=>{confirm((0,o.__)("全てのWordPressキャッシュをクリアしますか?","wpbc"))&&f("all")()},style:{fontSize:"12px"}},(0,o.__)("全キャッシュクリア","wpbc")))))}function f(e="plugin"){return async()=>{try{const t=await i()({path:"/wpbc/v1/clear-cache",method:"POST",data:{type:e}});t.success?alert(t.message):alert((0,o.__)("キャッシュのクリアに失敗しました。","wpbc"))}catch(e){console.error("Cache clear error:",e),alert((0,o.__)("キャッシュのクリア中にエラーが発生しました。","wpbc"))}}}(0,l.registerBlockType)("su/blogcard",{edit:function({attributes:e,setAttributes:t}){const{url:n,showThumbnail:l,title:s,description:p,thumbnailUrl:d,favicon:f}=e,[v,y]=(0,c.useState)(n||""),[x,C]=(0,c.useState)(!1),[k,T]=(0,c.useState)(""),[N,S]=(0,c.useState)(""),[R,U]=(0,c.useState)(!1),O=(0,a.useBlockProps)({className:"wp-block-blogcard"}),I=O.className?.includes("is-selected")||!1,D=e=>{"Enter"===e.key&&(e.preventDefault(),u(v)&&(v!==n&&t({url:"",title:"",description:"",thumbnailUrl:"",showThumbnail:!1,favicon:""}),(async()=>{if(!v||v.trim().length<10||!u(v))return T(""),void S("");C(!0),T(""),S("");try{const e=m(v)?`/wpbc/v1/internal-metadata?url=${encodeURIComponent(v)}`:"/wpbc/v1/metadata",n=await i()({path:e,method:m(v)?"GET":"POST",data:m(v)?void 0:{url:v}});if(n.success){const e=n.data;t({url:v,title:e.title||v,description:e.description||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""}),U(!0===e.cached),T(""),S("")}else{const e=n.message||n.data?.message||(0,o.__)("メタデータの取得に失敗しました。","wpbc"),t=n.code||n.data?.code||"UNKNOWN_ERROR";T(e),S(t)}}catch(e){const t=e.status||e.code||"NETWORK_ERROR";let n=e.message||(0,o.__)("メタデータの取得中にエラーが発生しました。","wpbc");e.data&&e.data.message&&(n=e.data.message),T(n),S(t)}finally{C(!1)}})()))},z=e=>{y(e.url),T(""),S(""),U(!1),t({url:e.url,title:e.title||e.url,description:e.excerpt||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""})};return(0,r.createElement)("div",{...O},(0,r.createElement)(E,{attributes:e,setAttributes:t,inputUrl:v,setInputUrl:y,handleKeyDown:D}),n||k?(0,r.createElement)("div",null,x&&(0,r.createElement)(_,null),I&&(0,r.createElement)(b,{key:"selected-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}),(0,r.createElement)(g,{error:k,errorCode:N}),!x&&!k&&n&&(0,r.createElement)("div",{className:"blogcard-preview"},(0,r.createElement)(h,{attributes:{url:n,title:s,description:p,thumbnailUrl:d,showThumbnail:l,favicon:f,isSelected:I}}),I&&(0,r.createElement)(w,{url:n,cached:R,onOpenLink:e=>{window.open(e,"_blank")}}))):(0,r.createElement)(b,{key:"placeholder-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}))},save:function({attributes:e}){const t=a.useBlockProps.save();return(0,r.createElement)("div",{...t},(0,r.createElement)(h,{attributes:e}))}})}},n={};function l(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,l),a.exports}l.m=t,e=[],l.O=(t,n,r,a)=>{if(!n){var c=1/0;for(p=0;p<e.length;p++){for(var[n,r,a]=e[p],o=!0,s=0;s<n.length;s++)(!1&a||c>=a)&&Object.keys(l.O).every(e=>l.O[e](n[s]))?n.splice(s--,1):(o=!1,a<c&&(c=a));if(o){e.splice(p--,1);var i=r();void 0!==i&&(t=i)}}return t}a=a||0;for(var p=e.length;p>0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[n,r,a]},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};l.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[c,o,s]=n,i=0;if(c.some(t=>0!==e[t])){for(r in o)l.o(o,r)&&(l.m[r]=o[r]);if(s)var p=s(l)}for(t&&t(n);i<c.length;i++)a=c[i],l.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return l.O(p)},n=globalThis.webpackChunkblogcard_for_wp=globalThis.webpackChunkblogcard_for_wp||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var r=l.O(void 0,[350],()=>l(486));r=l.O(r)})();1 (()=>{"use strict";var e,t={486:(e,t,n)=>{const l=window.wp.blocks,r=window.React,a=window.wp.blockEditor,c=window.wp.element,o=window.wp.i18n,s=window.wp.apiFetch;var i=n.n(s);const p=window.wp.components;function u(e){return!(!e||e.length<10)&&URL.canParse(e)}function m(e){if(!e)return!1;try{const t=new URL(e),n=new URL(window.location.href).hostname,l=t.hostname;return n===l||!(!n.endsWith("."+l)&&!l.endsWith("."+n))}catch{return!1}}function d({results:e,isLoading:t,onSelect:n,onClose:l,error:a}){return(0,r.createElement)("div",{className:"wpbc-search-results"},(0,r.createElement)("div",{className:"wpbc-search-results-header"},(0,r.createElement)("span",null,(0,o.__)("検索結果","wpbc")),(0,r.createElement)("button",{type:"button",className:"wpbc-search-close",onClick:l},"×")),t?(0,r.createElement)("div",{className:"wpbc-search-loading"},(0,r.createElement)(p.Spinner,null),(0,o.__)("検索中...","wpbc")):a?(0,r.createElement)("div",{className:"wpbc-search-error",style:{color:"#cc0000",padding:"10px",textAlign:"center"}},a):e&&e.length>0?(0,r.createElement)("ul",{className:"wpbc-search-results-list"},e.map(e=>(0,r.createElement)("li",{key:e.id,className:"wpbc-search-result-item",onClick:()=>n(e)},e.thumbnail&&(0,r.createElement)("div",{className:"wpbc-search-result-thumbnail"},(0,r.createElement)("img",{src:e.thumbnail,alt:e.title,width:"60",height:"60"})),(0,r.createElement)("div",{className:"wpbc-search-result-content"},(0,r.createElement)("div",{className:"wpbc-search-result-title"},e.title),(0,r.createElement)("div",{className:"wpbc-search-result-meta"},(0,r.createElement)("span",{className:"wpbc-search-result-type"},"post"===e.type?(0,o.__)("投稿","wpbc"):(0,o.__)("固定ページ","wpbc")),(0,r.createElement)("span",{className:"wpbc-search-result-date"},e.date)),e.excerpt&&(0,r.createElement)("div",{className:"wpbc-search-result-excerpt"},e.excerpt))))):(0,r.createElement)("div",{className:"wpbc-search-no-results"},(0,o.__)("検索結果が見つかりませんでした","wpbc")))}function b({value:e,onChange:t,onKeyDown:n,onSelectResult:l,placeholder:a=(0,o.__)("https://example.com or キーワード","wpbc"),label:s=(0,o.__)("URLまたはサイト内検索","wpbc"),showSearch:m=!1,disabled:b=!1}){const h=u(e),[w,g]=(0,c.useState)([]),[_,f]=(0,c.useState)(!1),[E,v]=(0,c.useState)(!1),[y,x]=(0,c.useState)(""),C=(0,c.useRef)(null),k=(0,c.useCallback)(async e=>{if(!e||e.length<2)return g([]),v(!1),void x("");C.current&&C.current.abort(),C.current=new AbortController,f(!0),x("");try{const t=await i()({path:`/wpbc/v1/search?q=${encodeURIComponent(e)}`,method:"GET",signal:C.current.signal});t&&t.success?(g(t.data||[]),v(!0),x("")):(g([]),v(!1),x((0,o.__)("検索に失敗しました。","wpbc")))}catch(e){if("AbortError"===e.name)return;g([]),v(!1),x((0,o.__)("検索中にエラーが発生しました。","wpbc"))}finally{f(!1)}},[]);return(0,c.useEffect)(()=>{if(m&&!b){if(!e||""===e.trim())return g([]),v(!1),void x("");if(!h){const t=setTimeout(()=>{k(e)},300);return()=>{clearTimeout(t),C.current&&C.current.abort()}}g([]),v(!1),x("")}},[e,m,b,h,k]),(0,c.useEffect)(()=>{h&&(g([]),v(!1),f(!1),x(""))},[h]),(0,c.useEffect)(()=>()=>{C.current&&C.current.abort()},[]),(0,r.createElement)("div",{style:{position:"relative"}},(0,r.createElement)(p.TextControl,{label:s,value:e,onChange:t,onKeyDown:t=>{"Enter"===t.key&&(t.preventDefault(),u(e)&&n&&n(t))},placeholder:a,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),m&&!b&&e&&""!==e.trim()&&!u(e)&&(E||y)&&(0,r.createElement)(d,{results:w,isLoading:_,onSelect:e=>{t(e.url),l&&l(e),v(!1),g([])},onClose:()=>{v(!1),g([])},error:y}))}function h({attributes:e}){const{url:t,title:n,description:l,thumbnailUrl:a,thumbnailId:c,showThumbnail:o,favicon:s,target:i="_blank",noopener:p=!0,nofollow:u=!1,noreferrer:m=!1,sponsored:d=!1,ugc:b=!1,isSelected:h=!1}=e,w=[];p&&w.push("noopener"),m&&w.push("noreferrer"),u&&w.push("nofollow"),d&&w.push("sponsored"),b&&w.push("ugc");const g=w.length>0?w.join(" "):"",_=a,f=o&&_;return(0,r.createElement)("article",{className:"wp-blogcard",cite:t},(0,r.createElement)("a",{href:t,target:i||void 0,rel:g||void 0,className:"wp-blogcard-item"},f&&(0,r.createElement)("figure",{className:"wp-blogcard-figure"},(0,r.createElement)("img",{src:_,alt:"","aria-hidden":"true"})),(0,r.createElement)("div",{className:"wp-blogcard-content"},(0,r.createElement)("div",{className:"wp-blogcard-title"},n),(0,r.createElement)("div",{className:"wp-blogcard-description"},l),(0,r.createElement)("div",{className:"wp-blogcard-cite"},s&&(0,r.createElement)("img",{className:"wp-blogcard-favicon",src:s,alt:"","aria-hidden":"true"}),(0,r.createElement)("div",{className:"wp-blogcard-domain"},function(e){try{return new URL(e).hostname}catch{return""}}(t))))))}function w({url:e,cached:t,onOpenLink:n}){return(0,r.createElement)("div",{className:"blogcard-preview-footer",style:{marginTop:"10px",display:"flex",justifyContent:"space-between",alignItems:"center"}},(0,r.createElement)("div",{style:{fontSize:"12px",color:"#666",display:"flex",alignItems:"center",gap:"4px"}},t&&(0,r.createElement)("span",{style:{padding:"2px 6px",borderRadius:"3px",fontSize:"10px",fontWeight:"bold"}},"CACHED")),(0,r.createElement)(p.Button,{type:"button",className:"wpbc-show-link-button",onClick:()=>n(e),disabled:!e,variant:"secondary",size:"small"},(0,o.__)("リンク先を表示","wpbc")))}function g({error:e,errorCode:t}){return e?(0,r.createElement)("div",{style:{color:"#cc0000",fontSize:"14px",margin:"8px 0",padding:"8px 0"}},e,t&&(0,r.createElement)("span",{style:{marginLeft:"8px",color:"#666",fontSize:"12px"}},"(",t,")")):null}function _({message:e=(0,o.__)("メタデータを取得中...","wpbc")}){return(0,r.createElement)("div",{style:{textAlign:"center",padding:"1.25rem"}},(0,r.createElement)(p.Spinner,null),(0,r.createElement)("p",{style:{fontSize:"0.875rem"}},e))}function f({attributes:e,setAttributes:t,inputUrl:n,setInputUrl:l,handleKeyDown:c}){const{target:s,noopener:i,nofollow:u,noreferrer:m,sponsored:d,ugc:b,showThumbnail:h,title:w,description:g,thumbnailUrl:_,thumbnailId:f}=e,v=()=>f&&_?(0,r.createElement)("div",{style:{width:"100%",aspectRatio:"16/9",overflow:"hidden",borderRadius:"4px",backgroundColor:"#f0f0f0",display:"flex",alignItems:"center",justifyContent:"center"}},(0,r.createElement)("img",{src:_,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}})):(0,r.createElement)("div",{style:{backgroundColor:"#f0f0f0",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:"#666",fontSize:"14px"}},(0,o.__)("サムネイルを設定","wpbc"));return(0,r.createElement)(a.InspectorControls,null,(0,r.createElement)(p.PanelBody,{title:(0,o.__)("ブロック設定","wpbc"),initialOpen:!0},(0,r.createElement)(p.TextControl,{label:(0,o.__)("URL","wpbc"),value:n,onChange:e=>l(e),onKeyDown:c,placeholder:(0,o.__)("https://example.com or キーワード","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("TARGET属性","wpbc")),(0,r.createElement)(p.SelectControl,{label:(0,o.__)("TARGET属性","wpbc"),value:s,onChange:e=>{t("_blank"===e?{target:e,noopener:!0}:{target:e})},options:[{label:(0,o.__)("なし","wpbc"),value:""},{label:(0,o.__)("_blank(別タブ)","wpbc"),value:"_blank"},{label:(0,o.__)("_self (同じタブ)","wpbc"),value:"_self"}]}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("Rel属性","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("noopener を追加","wpbc"),checked:i,disabled:"_blank"===s,onChange:e=>t({noopener:e})}),"_blank"===s&&(0,r.createElement)("p",{style:{fontSize:"12px",color:"#666",margin:"8px 0"}},(0,o.__)("_blankの場合はセキュリティ上noopenerが必須です","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=nofollow を追加","wpbc"),checked:u,onChange:e=>t({nofollow:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=noreferrer を追加","wpbc"),checked:m,onChange:e=>t({noreferrer:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=sponsored を追加","wpbc"),checked:d,onChange:e=>t({sponsored:e})}),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("rel=ugc を追加","wpbc"),checked:b,onChange:e=>t({ugc:e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("サムネイル","wpbc")),(0,r.createElement)(p.ToggleControl,{label:(0,o.__)("サムネイルを表示しない","wpbc"),checked:!h,onChange:e=>t({showThumbnail:!e})}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("タイトルを手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("タイトル","wpbc"),value:w,onChange:e=>t({title:e}),placeholder:(0,o.__)("タイトルを入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("説明文を手動で入力","wpbc")),(0,r.createElement)(p.TextControl,{label:(0,o.__)("説明文","wpbc"),value:g,onChange:e=>t({description:e}),placeholder:(0,o.__)("説明文を入力","wpbc")}),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)(p.BaseControl,{label:(0,o.__)("サムネイルを手動で設定","wpbc")},(0,r.createElement)(a.MediaUploadCheck,null,(0,r.createElement)(a.MediaUpload,{onSelect:e=>{t({thumbnailId:e.id,thumbnailUrl:e.url,showThumbnail:!0})},allowedTypes:["image"],value:f,render:({open:e})=>(0,r.createElement)(p.Button,{onClick:e,className:"editor-post-featured-image__toggle"},(0,r.createElement)(v,null))})),(0,r.createElement)(p.Button,{style:{marginTop:"0.5rem"},className:"is-tertiary",onClick:()=>{t({thumbnailId:0,thumbnailUrl:"",showThumbnail:!1})}},(0,o.__)("クリア","wpbc"))),(0,r.createElement)("hr",{style:{margin:"20px 0"}}),(0,r.createElement)("h4",null,(0,o.__)("キャッシュ管理","wpbc")),(0,r.createElement)("div",{style:{display:"flex",gap:"10px",flexWrap:"wrap"}},(0,r.createElement)(p.Button,{secondary:!0,onClick:E("plugin"),style:{fontSize:"12px"}},(0,o.__)("ブログカードキャッシュクリア","wpbc")),(0,r.createElement)(p.Button,{isDestructive:!0,onClick:()=>{confirm((0,o.__)("全てのWordPressキャッシュをクリアしますか?","wpbc"))&&E("all")()},style:{fontSize:"12px"}},(0,o.__)("全キャッシュクリア","wpbc")))))}function E(e="plugin"){return async()=>{try{const t=await i()({path:"/wpbc/v1/clear-cache",method:"POST",data:{type:e}});t.success?alert(t.message):alert((0,o.__)("キャッシュのクリアに失敗しました。","wpbc"))}catch(e){console.error("Cache clear error:",e),alert((0,o.__)("キャッシュのクリア中にエラーが発生しました。","wpbc"))}}}(0,l.registerBlockType)("su/blogcard",{edit:function({attributes:e,setAttributes:t}){const{url:n,showThumbnail:l,title:s,description:p,thumbnailUrl:d,favicon:E}=e,[v,y]=(0,c.useState)(n||""),[x,C]=(0,c.useState)(!1),[k,T]=(0,c.useState)(""),[N,S]=(0,c.useState)(""),[R,U]=(0,c.useState)(!1),O=(0,a.useBlockProps)(),I=O.className?.includes("is-selected")||!1,D=e=>{"Enter"===e.key&&(e.preventDefault(),u(v)&&(v!==n&&t({url:"",title:"",description:"",thumbnailUrl:"",showThumbnail:!1,favicon:""}),(async()=>{if(!v||v.trim().length<10||!u(v))return T(""),void S("");C(!0),T(""),S("");try{const e=m(v)?`/wpbc/v1/internal-metadata?url=${encodeURIComponent(v)}`:"/wpbc/v1/metadata",n=await i()({path:e,method:m(v)?"GET":"POST",data:m(v)?void 0:{url:v}});if(n.success){const e=n.data;t({url:v,title:e.title||v,description:e.description||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""}),U(!0===e.cached),T(""),S("")}else{const e=n.message||n.data?.message||(0,o.__)("メタデータの取得に失敗しました。","wpbc"),t=n.code||n.data?.code||"UNKNOWN_ERROR";T(e),S(t)}}catch(e){const t=e.status||e.code||"NETWORK_ERROR";let n=e.message||(0,o.__)("メタデータの取得中にエラーが発生しました。","wpbc");e.data&&e.data.message&&(n=e.data.message),T(n),S(t)}finally{C(!1)}})()))},z=e=>{y(e.url),T(""),S(""),U(!1),t({url:e.url,title:e.title||e.url,description:e.excerpt||"",thumbnailUrl:e.thumbnail||"",showThumbnail:!!e.thumbnail,favicon:e.favicon||""})};return(0,r.createElement)("div",{...O},(0,r.createElement)(f,{attributes:e,setAttributes:t,inputUrl:v,setInputUrl:y,handleKeyDown:D}),n||k?(0,r.createElement)("div",null,x&&(0,r.createElement)(_,null),I&&(0,r.createElement)(b,{key:"selected-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}),(0,r.createElement)(g,{error:k,errorCode:N}),!x&&!k&&n&&(0,r.createElement)("div",{className:"blogcard-preview"},(0,r.createElement)(h,{attributes:{url:n,title:s,description:p,thumbnailUrl:d,showThumbnail:l,favicon:E,isSelected:I}}),I&&(0,r.createElement)(w,{url:n,cached:R,onOpenLink:e=>{window.open(e,"_blank")}}))):(0,r.createElement)(b,{key:"placeholder-search-input",value:v,onChange:e=>y(e),onKeyDown:D,onSelectResult:z,showSearch:!0,disabled:!1}))},save:function(){return null}})}},n={};function l(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,l),a.exports}l.m=t,e=[],l.O=(t,n,r,a)=>{if(!n){var c=1/0;for(p=0;p<e.length;p++){for(var[n,r,a]=e[p],o=!0,s=0;s<n.length;s++)(!1&a||c>=a)&&Object.keys(l.O).every(e=>l.O[e](n[s]))?n.splice(s--,1):(o=!1,a<c&&(c=a));if(o){e.splice(p--,1);var i=r();void 0!==i&&(t=i)}}return t}a=a||0;for(var p=e.length;p>0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[n,r,a]},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};l.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[c,o,s]=n,i=0;if(c.some(t=>0!==e[t])){for(r in o)l.o(o,r)&&(l.m[r]=o[r]);if(s)var p=s(l)}for(t&&t(n);i<c.length;i++)a=c[i],l.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return l.O(p)},n=globalThis.webpackChunkblogcard_for_wp=globalThis.webpackChunkblogcard_for_wp||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var r=l.O(void 0,[350],()=>l(486));r=l.O(r)})(); -
blogcard-for-wp/trunk/build/style-index-rtl.css
r3441620 r3451271 1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0. 125rem;--padding:1rem 1.25rem;--gap:1rem;--image-width:5rem;--image-height:5rem}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);padding:var(--padding);text-decoration:none!important}.wp-blogcard-figure{flex-shrink:0;height:var(--image-height);margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{border-radius:var(--border-radius);height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem}.wp-blogcard-title{color:var(--color-text);font-size:.875rem;font-weight:700}.wp-blogcard-description,.wp-blogcard-title{display:-webkit-box;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{color:var(--color-text-light);font-size:.75rem;hyphens:auto}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-left:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard{--padding:1.25rem;--gap:1.25rem;--image-width:6rem;--image-height:6rem}.wp-blogcard-title{font-size:1rem}.wp-blogcard-domain{font-size:.75rem}}1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0.75rem;--padding:1.25rem 1.5rem;--gap:1.5rem;--image-width:28%}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);overflow:hidden;transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);text-decoration:none!important}.wp-blogcard-figure{align-self:stretch;flex-shrink:0;height:auto;margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:var(--padding);padding-left:0}.wp-blogcard-title{color:var(--color-text);display:-webkit-box;font-kerning:normal;font-size:.875rem;font-weight:700;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{display:none}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-left:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard-title{font-size:1rem}.wp-blogcard-description{color:var(--color-text-light);display:-webkit-box;font-size:.75rem;hyphens:auto;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-domain{font-size:.75rem}} -
blogcard-for-wp/trunk/build/style-index.css
r3441620 r3451271 1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0. 125rem;--padding:1rem 1.25rem;--gap:1rem;--image-width:5rem;--image-height:5rem}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);padding:var(--padding);text-decoration:none!important}.wp-blogcard-figure{flex-shrink:0;height:var(--image-height);margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{border-radius:var(--border-radius);height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem}.wp-blogcard-title{color:var(--color-text);font-size:.875rem;font-weight:700}.wp-blogcard-description,.wp-blogcard-title{display:-webkit-box;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{color:var(--color-text-light);font-size:.75rem;hyphens:auto}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-right:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard{--padding:1.25rem;--gap:1.25rem;--image-width:6rem;--image-height:6rem}.wp-blogcard-title{font-size:1rem}.wp-blogcard-domain{font-size:.75rem}}1 :where(.wp-block-su-blogcard){margin-block:1.5rem}.wp-block-su-blogcard{container-type:inline-size;--color-text:#18181b;--color-text-light:#71717b;--color-ui:#e4e4e7;--color-surface:#f4f4f5;--color-background:#fff;--border-radius:0.75rem;--padding:1.25rem 1.5rem;--gap:1.5rem;--image-width:28%}.dark .wp-block-su-blogcard{--color-text:#f4f4f5;--color-text-light:#9f9fa9;--color-ui:#27272a;--color-surface:#18181b;--color-background:#09090b;--color-white:#09090b}.wp-blogcard{background-color:var(--color-background);border:1px solid var(--color-ui);border-radius:var(--border-radius);color:var(--color-text);overflow:hidden;transition:background-color .2s ease;&:hover{background-color:var(--color-surface);color:var(--color-text)}}.wp-blogcard-item{display:flex;flex-direction:row-reverse;gap:var(--gap);text-decoration:none!important}.wp-blogcard-figure{align-self:stretch;flex-shrink:0;height:auto;margin:0;overflow:hidden;width:var(--image-width)}.wp-blogcard-figure img{height:100%;object-fit:cover;width:100%}.wp-blogcard-content{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:var(--padding);padding-right:0}.wp-blogcard-title{color:var(--color-text);display:-webkit-box;font-kerning:normal;font-size:.875rem;font-weight:700;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-description{display:none}.wp-blogcard-cite{align-items:center;color:#999;display:flex;font-size:.9rem;margin:0}.wp-blogcard-favicon{border-radius:.125rem;height:16px;margin-right:.5rem;width:16px}.wp-blogcard-domain{color:var(--color-text-light);font-size:.675rem}@container (min-width: 32rem){.wp-blogcard-title{font-size:1rem}.wp-blogcard-description{color:var(--color-text-light);display:-webkit-box;font-size:.75rem;hyphens:auto;-webkit-line-clamp:2;margin:0;overflow:hidden;word-break:break-word;-webkit-box-orient:vertical}.wp-blogcard-domain{font-size:.75rem}} -
blogcard-for-wp/trunk/readme-ja.txt
r3451242 r3451271 5 5 Tested up to: 6.8.2 6 6 Requires PHP: 7.4 7 Stable tag: 2. 0.87 Stable tag: 2.1.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 18 18 バージョン2.0.0からの新機能で、サイト内検索からブログカードを作ることができるようになりました。 19 19 これによって、自分のサイト内の記事を検索ワードからブログカード化できるようになりました。 20 21 > **【重要な変更点】(2.1.0〜)** 22 > ダイナミックブロックへの変更ついて: 本バージョンから、ブロックのHTML構造はサーバー側で自動生成されるようになりました。 23 > 理由は、将来的なプラグインのアップデートにより内部構造が変更された際も、ブロックが壊れることなく安定して表示され続けるようにするためです(内部構造の変更によるブロック破損エラーの防止)。 24 > **注意:** エディターの「HTMLとして編集」で行ったHTMLの直接編集は、サーバー側のレンダリングで上書きされ無効になります。 25 > **リカバリー表示:** アップデート後に「ブロックのリカバリーを試行」などの表示が出た場合は、ボタンを押してリカバリー(復旧)を行ってください。 20 26 21 27 == 主な機能 == … … 95 101 == Changelog == 96 102 103 = 2.1.0 = 104 * 【重要】ダイナミックブロック(Server Side Rendering)への移行。 105 * note: 「HTMLとして編集」での編集内容は反映されなくなります。 106 * 内部処理の最適化。 107 97 108 = 2.0.8 = 98 109 * バージョン更新。 -
blogcard-for-wp/trunk/readme.txt
r3451242 r3451271 5 5 Tested up to: 6.9 6 6 Requires PHP: 7.4 7 Stable tag: 2. 0.87 Stable tag: 2.1.1 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 21 21 New features from version 2.0.0 include the ability to create blog cards from site search. 22 22 This allows you to search for articles within your own site and convert them into blog cards. 23 24 > **Important Notice:** 25 > Starting from version 2.1.0, the block is rendered dynamically on the server side to improve stability. 26 > **Note:** Manual edits made via "Edit as HTML" will be reset to the standard design. 27 > If you see "Attempt Block Recovery" after updating, please click the button to recover the block. 23 28 24 29 == Key Features == … … 98 103 == Changelog == 99 104 105 = 2.1.1 = 106 * Bug fixes. 107 * Update CSS. 108 109 = 2.1.0 = 110 * Major Update: Switched to Server Side Rendering (Dynamic Block) to improve stability and prevent block validation errors. 111 * Performance: Improved rendering performance by utilizing server-side processing. 112 * Note: Manual HTML edits via "Edit as HTML" will be overridden by the dynamic renderer. 113 100 114 = 2.0.8 = 101 115 * Update version. … … 126 140 127 141 == Upgrade Notice == 142 143 = 2.1.0 = 144 Major Update: Switched to Server Side Rendering for better stability. Please check your block appearance. 128 145 129 146 = 2.0.0 =
Note: See TracChangeset
for help on using the changeset viewer.