What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0

https://hackers.pub/?filter=local

와 이제 여기는 순수 개발이야기만 하는 국산 개발 SNS가 되었네 ㅋㅋㅋㅋㅋㅋ
사람도 계속 들어오는거 보면 장난 아닌 듯

얘가 한국 페디버스(연합우주)의 새로운 바람인 듯

0
0

https://hackers.pub/?filter=local

와 이제 여기는 순수 개발이야기만 하는 국산 개발 SNS가 되었네 ㅋㅋㅋㅋㅋㅋ
사람도 계속 들어오는거 보면 장난 아닌 듯

얘가 한국 페디버스(연합우주)의 새로운 바람인 듯

3
0
0
0
0
1
0
0
0

PCでFedibirdやってる人、標準のシングルカラムモードで使ってる?

上級者向けUIと呼ばれている、マルチカラムモードで使ってる?

あと、カラム幅を変えたり、フリー(ウィンドウサイズに追従)で使ってる?

……アンケートとりますか。

■ Fedibirdのカラム関係の機能、使っているものを教えてください(該当するものを全部選択)

0
0
0
1
0

Need solution that ensures PDFs can be previewed

migelammon @migelammon@community.nodebb.org

<p>I have written the following JavaScript code to allow students to preview PDF files uploaded to our forum. Our goal is to enable them to view lecture notes directly on the forum while preventing them from downloading the files.</p> <p>However, since the PDFs are embedded within an iframe, I haven't been able to completely block the "Save As" option. Even though previewing works fine, students can still download the PDF files, especially on mobile devices where the "Save to Files" option appears.<img src="https://www-tubidy.ws" alt="" /></p> <p>I need a solution that ensures PDFs can be previewed but not downloaded on both desktop and mobile devices. How can I achieve this? Thank you.</p> <pre><code>$(document).ready(function () { function processPDFs() { console.log("PDF önizleme işleniyor..."); $('a[href$=".pdf"]').each(function () { let link = $(this).attr('href'); if (!$(this).next('.pdf-container').length) { if (isMobileDevice()) { // 📱 **Mobil cihazlarda sadece PDF linkini göster, önizleme yok** $(this).show(); } else { // 💻 **Masaüstünde PDF'yi önizle** $(this).hide(); // PDF linkini gizle let container = $('&lt;div class="pdf-container" style="width:100%; max-width:900px; height:700px; position: relative; margin-top:10px; border: 1px solid #ccc; overflow: hidden;"&gt;&lt;/div&gt;'); let pdfObject = $('&lt;object style="width:100%; height:100%;" type="application/pdf" sandbox="allow-scripts allow-same-origin" oncontextmenu="return false;"&gt;&lt;/object&gt;'); let fullscreenBtn = $('&lt;button class="fullscreen-toggle" style="position:absolute; top:10px; right:10px; background:#000; color:#fff; border:none; padding:5px 10px; cursor:pointer; z-index:10;"&gt;🔍 Tam Ekran&lt;/button&gt;'); pdfObject.attr('data', link + "#toolbar=0"); fullscreenBtn.on('click', function () { toggleFullscreen(container[0]); }); container.append(pdfObject).append(fullscreenBtn); $(this).after(container); } } }); $('.file a').each(function () { let fileLink = $(this).attr('href'); if (fileLink.endsWith('.pdf') &amp;&amp; !$(this).next('.pdf-container').length) { if (isMobileDevice()) { // 📱 **Mobilde sadece PDF linki göster** $(this).show(); } else { // 💻 **Masaüstünde PDF'yi önizle** $(this).hide(); let container = $('&lt;div class="pdf-container" style="width:100%; max-width:900px; height:700px; position: relative; margin-top:10px; border: 1px solid #ccc; overflow: hidden;"&gt;&lt;/div&gt;'); let pdfObject = $('&lt;object style="width:100%; height:100%;" type="application/pdf" sandbox="allow-scripts allow-same-origin" oncontextmenu="return false;"&gt;&lt;/object&gt;'); let fullscreenBtn = $('&lt;button class="fullscreen-toggle" style="position:absolute; top:10px; right:10px; background:#000; color:#fff; border:none; padding:5px 10px; cursor:pointer; z-index:10;"&gt;🔍 Tam Ekran&lt;/button&gt;'); pdfObject.attr('data', fileLink + "#toolbar=0"); fullscreenBtn.on('click', function () { toggleFullscreen(container[0]); }); container.append(pdfObject).append(fullscreenBtn); $(this).after(container); } } }); } // 📌 **Mobil Cihaz Algılama** function isMobileDevice() { return /Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent); } // 📌 Tam Ekran Aç/Kapat Fonksiyonu function toggleFullscreen(element) { if (!document.fullscreenElement &amp;&amp; !document.mozFullScreenElement &amp;&amp; !document.webkitFullscreenElement &amp;&amp; !document.msFullscreenElement) { if (element.requestFullscreen) { element.requestFullscreen(); } else if (element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if (element.webkitRequestFullscreen) { element.webkitRequestFullscreen(); } else if (element.msRequestFullscreen) { element.msRequestFullscreen(); } } else { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } } } // 📌 ESC ile Tam Ekrandan Çıkınca Butonu Güncelle $(document).on("fullscreenchange mozfullscreenchange webkitfullscreenchange msfullscreenchange", function () { $(".fullscreen-toggle").text(document.fullscreenElement ? "↩ Tam Ekrandan Çık" : "🔍 Tam Ekran"); }); // İlk yükleme processPDFs(); // Sayfa değişimlerinde tekrar çalıştır (NodeBB SPA yapısına uygun) $(window).on('action:ajaxify.end', function () { processPDFs(); }); console.log("PDF izleme sistemi güncellendi: Mobilde sadece link gösteriliyor, masaüstünde önizleme aktif."); }); </code></pre>

Read more →
0
0
0
0
0

" ‘반대’를 비호감도라고 본다면 이재명 전 대표의 비호감도가 가장 낮은 수준입니다. 다른 주자들의 비호감도가 훨씬 높습니다." 이재명 : 지지 46%, 반대 49% 한덕수 : 지지 28%, 반대 62% 홍준표 : 지지 25%, 반대 69% 김문수 : 지지 24%, 반대 66% 한동훈 : 지지 22%, 반대 71% 이준석 : 지지 17%, 반대 73% 숫자와 통계와 조사가 보여주는 현실에 대하여...

RE: https://bsky.app/profile/did:plc:a6qvfkbrohedqy3dt6k5mdv6/post/3lnraotpas22o

0

부스트 부탁드립니다! 감사합니다

혹시 볼파이톤이나 큰 파충류를 키우시는분 계실까요? 먹이주문을 잘못해서 래트특대가 50개나 생겨버렸습니다...
저희집애들은 콘이라서 다시태어나도 못먹기에 혹시 필요하신분이 계신가 툿 올려봅니다!

마렛트에서 주문했으며 택배가능! 서울 강서구에 가깝게 살고계신다면 차로 배달해드리겠습니다!

개당 2000으로 계산하며 일괄 구매시 90,000입니다!
많이 구입하시면 더 저렴하게 드립니다!
택배는 택배비 따로 추가되며 관심있으시면 다이렉트 메시지 부탁드립니다! 원하시면 사진등 다 가능합니다!

+ 래트구입이 아니더라도 파충류 집사분들 계시면 저랑 친구가 되어주세요..♡

0
0
0
0
0
0
0