Files
relaticle-comments/essentials/attachments/_payload.json
github-actions[bot] b70b268201 Deploy 1.x docs
2026-03-27 12:09:26 +00:00

1 line
13 KiB
JSON

[{"data":1,"prerenderedAt":573},["ShallowReactive",2],{"navigation_docs":3,"-essentials-attachments":75,"-essentials-attachments-surround":568},[4,20,60],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F1.installation","i-lucide-download",{"title":16,"path":17,"stem":18,"icon":19},"Upgrading","\u002Fgetting-started\u002Fupgrading","1.getting-started\u002F2.upgrading","i-lucide-arrow-up-circle",{"title":21,"path":22,"stem":23,"children":24,"page":6},"Essentials","\u002Fessentials","2.essentials",[25,30,35,40,45,50,55],{"title":26,"path":27,"stem":28,"icon":29},"Configuration","\u002Fessentials\u002Fconfiguration","2.essentials\u002F1.configuration","i-lucide-settings",{"title":31,"path":32,"stem":33,"icon":34},"Authorization","\u002Fessentials\u002Fauthorization","2.essentials\u002F2.authorization","i-lucide-shield",{"title":36,"path":37,"stem":38,"icon":39},"Mentions","\u002Fessentials\u002Fmentions","2.essentials\u002F3.mentions","i-lucide-at-sign",{"title":41,"path":42,"stem":43,"icon":44},"Reactions","\u002Fessentials\u002Freactions","2.essentials\u002F4.reactions","i-lucide-smile",{"title":46,"path":47,"stem":48,"icon":49},"Attachments","\u002Fessentials\u002Fattachments","2.essentials\u002F5.attachments","i-lucide-paperclip",{"title":51,"path":52,"stem":53,"icon":54},"Notifications","\u002Fessentials\u002Fnotifications","2.essentials\u002F6.notifications","i-lucide-bell",{"title":56,"path":57,"stem":58,"icon":59},"Database Schema","\u002Fessentials\u002Fdatabase-schema","2.essentials\u002F7.database-schema","i-lucide-database",{"title":61,"path":62,"stem":63,"children":64,"page":6},"Community","\u002Fcommunity","4.community",[65,70],{"title":66,"path":67,"stem":68,"icon":69},"Contributing","\u002Fcommunity\u002Fcontributing","4.community\u002F1.contributing","i-lucide-heart-handshake",{"title":71,"path":72,"stem":73,"icon":74},"License","\u002Fcommunity\u002Flicense","4.community\u002F2.license","i-lucide-scale",{"id":76,"title":46,"body":77,"description":560,"extension":561,"links":562,"meta":563,"navigation":564,"path":47,"seo":565,"stem":48,"__hash__":567},"docs\u002F2.essentials\u002F5.attachments.md",{"type":78,"value":79,"toc":553},"minimark",[80,85,89,92,314,391,395,429,432,436,439,472,475,479,490,549],[81,82,84],"h2",{"id":83},"overview","Overview",[86,87,88],"p",{},"Comments support file attachments for both images and documents. Images are displayed inline within the comment body, while documents appear as downloadable links.",[81,90,26],{"id":91},"configuration",[93,94,99],"pre",{"className":95,"code":96,"language":97,"meta":98,"style":98},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F config\u002Fcomments.php\n'attachments' => [\n 'enabled' => true,\n 'disk' => 'public',\n 'max_size' => 10240, \u002F\u002F KB (10 MB)\n 'allowed_types' => [\n 'image\u002Fjpeg',\n 'image\u002Fpng',\n 'image\u002Fgif',\n 'image\u002Fwebp',\n 'application\u002Fpdf',\n 'text\u002Fplain',\n 'application\u002Fmsword',\n 'application\u002Fvnd.openxmlformats-officedocument.wordprocessingml.document',\n ],\n],\n","php","",[100,101,102,111,130,146,169,191,205,218,230,242,254,266,278,290,302,308],"code",{"__ignoreMap":98},[103,104,107],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"sHwdD","\u002F\u002F config\u002Fcomments.php\n",[103,112,114,118,122,124,127],{"class":105,"line":113},2,[103,115,117],{"class":116},"sMK4o","'",[103,119,121],{"class":120},"sfazB","attachments",[103,123,117],{"class":116},[103,125,126],{"class":116}," =>",[103,128,129],{"class":116}," [\n",[103,131,133,136,139,141,143],{"class":105,"line":132},3,[103,134,135],{"class":116}," '",[103,137,138],{"class":120},"enabled",[103,140,117],{"class":116},[103,142,126],{"class":116},[103,144,145],{"class":116}," true,\n",[103,147,149,151,154,156,158,161,164,166],{"class":105,"line":148},4,[103,150,135],{"class":116},[103,152,153],{"class":120},"disk",[103,155,117],{"class":116},[103,157,126],{"class":116},[103,159,160],{"class":116}," '",[103,162,163],{"class":120},"public",[103,165,117],{"class":116},[103,167,168],{"class":116},",\n",[103,170,172,174,177,179,181,185,188],{"class":105,"line":171},5,[103,173,135],{"class":116},[103,175,176],{"class":120},"max_size",[103,178,117],{"class":116},[103,180,126],{"class":116},[103,182,184],{"class":183},"sbssI"," 10240",[103,186,187],{"class":116},",",[103,189,190],{"class":109}," \u002F\u002F KB (10 MB)\n",[103,192,194,196,199,201,203],{"class":105,"line":193},6,[103,195,135],{"class":116},[103,197,198],{"class":120},"allowed_types",[103,200,117],{"class":116},[103,202,126],{"class":116},[103,204,129],{"class":116},[103,206,208,211,214,216],{"class":105,"line":207},7,[103,209,210],{"class":116}," '",[103,212,213],{"class":120},"image\u002Fjpeg",[103,215,117],{"class":116},[103,217,168],{"class":116},[103,219,221,223,226,228],{"class":105,"line":220},8,[103,222,210],{"class":116},[103,224,225],{"class":120},"image\u002Fpng",[103,227,117],{"class":116},[103,229,168],{"class":116},[103,231,233,235,238,240],{"class":105,"line":232},9,[103,234,210],{"class":116},[103,236,237],{"class":120},"image\u002Fgif",[103,239,117],{"class":116},[103,241,168],{"class":116},[103,243,245,247,250,252],{"class":105,"line":244},10,[103,246,210],{"class":116},[103,248,249],{"class":120},"image\u002Fwebp",[103,251,117],{"class":116},[103,253,168],{"class":116},[103,255,257,259,262,264],{"class":105,"line":256},11,[103,258,210],{"class":116},[103,260,261],{"class":120},"application\u002Fpdf",[103,263,117],{"class":116},[103,265,168],{"class":116},[103,267,269,271,274,276],{"class":105,"line":268},12,[103,270,210],{"class":116},[103,272,273],{"class":120},"text\u002Fplain",[103,275,117],{"class":116},[103,277,168],{"class":116},[103,279,281,283,286,288],{"class":105,"line":280},13,[103,282,210],{"class":116},[103,284,285],{"class":120},"application\u002Fmsword",[103,287,117],{"class":116},[103,289,168],{"class":116},[103,291,293,295,298,300],{"class":105,"line":292},14,[103,294,210],{"class":116},[103,296,297],{"class":120},"application\u002Fvnd.openxmlformats-officedocument.wordprocessingml.document",[103,299,117],{"class":116},[103,301,168],{"class":116},[103,303,305],{"class":105,"line":304},15,[103,306,307],{"class":116}," ],\n",[103,309,311],{"class":105,"line":310},16,[103,312,313],{"class":116},"],\n",[315,316,317,333],"table",{},[318,319,320],"thead",{},[321,322,323,327,330],"tr",{},[324,325,326],"th",{},"Key",[324,328,329],{},"Default",[324,331,332],{},"Description",[334,335,336,351,365,379],"tbody",{},[321,337,338,343,348],{},[339,340,341],"td",{},[100,342,138],{},[339,344,345],{},[100,346,347],{},"true",[339,349,350],{},"Show\u002Fhide the attachment upload UI",[321,352,353,357,362],{},[339,354,355],{},[100,356,153],{},[339,358,359],{},[100,360,361],{},"'public'",[339,363,364],{},"Laravel filesystem disk for storage",[321,366,367,371,376],{},[339,368,369],{},[100,370,176],{},[339,372,373],{},[100,374,375],{},"10240",[339,377,378],{},"Maximum file size in kilobytes",[321,380,381,385,388],{},[339,382,383],{},[100,384,198],{},[339,386,387],{},"images, pdf, text, word",[339,389,390],{},"Array of allowed MIME types",[81,392,394],{"id":393},"disabling-attachments","Disabling Attachments",[93,396,398],{"className":95,"code":397,"language":97,"meta":98,"style":98},"'attachments' => [\n 'enabled' => false,\n],\n",[100,399,400,412,425],{"__ignoreMap":98},[103,401,402,404,406,408,410],{"class":105,"line":106},[103,403,117],{"class":116},[103,405,121],{"class":120},[103,407,117],{"class":116},[103,409,126],{"class":116},[103,411,129],{"class":116},[103,413,414,416,418,420,422],{"class":105,"line":113},[103,415,135],{"class":116},[103,417,138],{"class":120},[103,419,117],{"class":116},[103,421,126],{"class":116},[103,423,424],{"class":116}," false,\n",[103,426,427],{"class":105,"line":132},[103,428,313],{"class":116},[86,430,431],{},"This removes the file upload UI from the comment form entirely.",[81,433,435],{"id":434},"storage","Storage",[86,437,438],{},"Attachments are stored via Livewire's file upload mechanism. Each attachment record tracks:",[440,441,442,449,455,461,467],"ul",{},[443,444,445,448],"li",{},[100,446,447],{},"file_path"," -- Path on the configured disk",[443,450,451,454],{},[100,452,453],{},"original_name"," -- Original filename for display",[443,456,457,460],{},[100,458,459],{},"mime_type"," -- MIME type for rendering decisions",[443,462,463,466],{},[100,464,465],{},"size"," -- File size in bytes",[443,468,469,471],{},[100,470,153],{}," -- Storage disk name",[86,473,474],{},"When a comment is deleted, its attachments are cascade deleted from the database. The physical files are removed from the disk.",[81,476,478],{"id":477},"helper-methods","Helper Methods",[86,480,481,482,485,486,489],{},"The ",[100,483,484],{},"Attachment"," model (",[100,487,488],{},"Relaticle\\Comments\\Models\\Attachment",") provides:",[93,491,493],{"className":95,"code":492,"language":97,"meta":98,"style":98},"$attachment->isImage(); \u002F\u002F Check if attachment is an image\n$attachment->url(); \u002F\u002F Get the storage URL\n$attachment->formattedSize(); \u002F\u002F Human-readable size (e.g., \"2.5 MB\")\n",[100,494,495,517,533],{"__ignoreMap":98},[103,496,497,500,504,507,511,514],{"class":105,"line":106},[103,498,499],{"class":116},"$",[103,501,503],{"class":502},"sTEyZ","attachment",[103,505,506],{"class":116},"->",[103,508,510],{"class":509},"s2Zo4","isImage",[103,512,513],{"class":116},"();",[103,515,516],{"class":109}," \u002F\u002F Check if attachment is an image\n",[103,518,519,521,523,525,528,530],{"class":105,"line":113},[103,520,499],{"class":116},[103,522,503],{"class":502},[103,524,506],{"class":116},[103,526,527],{"class":509},"url",[103,529,513],{"class":116},[103,531,532],{"class":109}," \u002F\u002F Get the storage URL\n",[103,534,535,537,539,541,544,546],{"class":105,"line":132},[103,536,499],{"class":116},[103,538,503],{"class":502},[103,540,506],{"class":116},[103,542,543],{"class":509},"formattedSize",[103,545,513],{"class":116},[103,547,548],{"class":109}," \u002F\u002F Human-readable size (e.g., \"2.5 MB\")\n",[550,551,552],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":98,"searchDepth":113,"depth":113,"links":554},[555,556,557,558,559],{"id":83,"depth":113,"text":84},{"id":91,"depth":113,"text":26},{"id":393,"depth":113,"text":394},{"id":434,"depth":113,"text":435},{"id":477,"depth":113,"text":478},"File uploads for comments.","md",null,{},{"icon":49},{"description":566,"title":46},"Configure file attachments for comments.","2i1KLeQ5uOjOTMP7h7xx9NSEndac1lmqjdxX9lCW-k4",[569,571],{"title":41,"path":42,"stem":43,"description":570,"icon":44,"children":-1},"Emoji reactions on comments.",{"title":51,"path":52,"stem":53,"description":572,"icon":54,"children":-1},"Comment notifications, subscriptions, and real-time updates.",1774613361671]