1 line
2.2 KiB
JavaScript
1 line
2.2 KiB
JavaScript
CMS.init(),CMS.registerPreviewStyle(".toastui-editor-contents h1 { color: blue }",{raw:!0}),CMS.registerPreviewTemplate("posts",(({entry:t,widgetFor:e,widgetsFor:i})=>h("div",{},h("div",{className:"cover"},h("h1",{},t.data.title),e("image")),h("p",{},h("small",{},"Written "+t.data.date)),h("div",{className:"text"},e("body"))))),CMS.registerPreviewTemplate("general",(({widgetsFor:t,getAsset:e,entry:i})=>{const s=i.data.site_title,a=i.data.posts,o=a&&a.thumb,[r,d]=useState("");return useEffect((()=>{let t=!0;return(async()=>{const i=await e(o);t&&d(i.toString())})(),()=>{t=!1}}),[o]),h("div",{},h("h1",{},s),h("dl",{},h("dt",{},"Posts on Frontpage"),h("dd",{},t("posts").widgets.front_limit??0),h("dt",{},"Default Author"),h("dd",{},t("posts").data?.author??"None"),h("dt",{},"Default Thumbnail"),h("dd",{},o&&h("img",{src:r}))))})),CMS.registerPreviewTemplate("authors",(({widgetsFor:t})=>h("div",{},h("h1",{},"Authors"),t("authors").map((function(t,e){return h("div",{key:e},h("hr",{}),h("strong",{},t.data.name),t.widgets.description)}))))),CMS.registerWidget("relationKitchenSinkPost","relation",(({fieldsMetaData:t})=>{const e=t&&t.posts.value;return e?h("div",{style:{border:"2px solid #ccc",borderRadius:"8px",padding:"20px"}},h("h2",{},"Related Post"),h("h3",{},e.title),h("img",{src:e.image}),h("p",{},(e.body??"").slice(0,100)+"...")):null})),CMS.registerAdditionalLink({id:"docs",title:"Static CMS Docs",data:"https://staticjscms.netlify.app/",options:{icon:"page"}}),CMS.registerAdditionalLink({id:"config",title:"Demo config.yml",data:"https://github.com/StaticJsCMS/static-cms/blob/main/packages/demo/config.yml",options:{icon:"page"}}),CMS.registerAdditionalLink({id:"custom-page",title:"Custom Page",data:()=>h("div",{},"I am a custom page!"),options:{icon:"page"}}),CMS.registerShortcode("youtube",{label:"YouTube",openTag:"[",closeTag:"]",separator:"|",toProps:t=>t.length>0?{src:t[0]}:{src:""},toArgs:({src:t})=>[t],control:({src:t,onChange:e})=>h("span",{},[h("input",{key:"control-input",value:t,onChange:t=>{e({src:t.target.value})}}),h("iframe",{key:"control-preview",width:"420",height:"315",src:`https://www.youtube.com/embed/${t}`},"")]),preview:({src:t})=>h("span",{},h("iframe",{width:"420",height:"315",src:`https://www.youtube.com/embed/${t}`},""))}); |