Tanya Jawab - Forum
@Anonymous I gave up on using google sheet. Because it's too slow, you can use firebase and there are many tutorials on the internet using firebase to create postviews.
(1 balasan) 👋
#1
,
Hapus
Balas
Ah, I see. The scheme also tracks the number of chapters being added.
Hopefully, this will enhance SEO even more.
Hopefully, this will enhance SEO even more.
I think it doesn't improve much. Besides, the diagram is not a surprise factor, I'm currently building a story and chapter posting system based on "blogger api". I hope this factor is a surprise factor and simplifies for users :D
I'm currently in the process of creating the most important part which is the "Series" label post, I'll send you a demo later :)
(1 balasan) 👋
#1
Vũ Trần
,
Demo: https://youtu.be/h7SaOprDA3s
Awesome.
So this is post generator with login.
So this is post generator with login.
(1 balasan) 👋
#1
Vũ Trần
,
I hope to use this tool fully to post chapters, manage everything here :))
(1 balasan) 👋
#1
❤️
Wernayasa
,
It's good, but why not just get the data from myanimelist or anilist? to make it more practical?
(1 balasan) 👋
#1
Vũ Trần
,
this is just demo
(1 balasan) 👋
#1
Tim-Tam
,
but it's really good, can't wait to see what the final version looks like.
(1 balasan) 👋
#1
Vũ Trần
,
Currently the performance is very good, can add and edit "Series" posts, can currently add chapters, volumes but still have some errors. Maybe there will be a demo tonight
Yes I have made it from firebase, but I am very interested in this google sheet.
Do you mind sharing it?
Do you mind sharing it?
I can't wait the result.
(1 balasan) 👋
#1
,
This is the system to post stories using blogger api. It's not finished yet, still has some errors: DEMO
This system manages stories and story chapters very powerfully and efficiently.
This system manages stories and story chapters very powerfully and efficiently.
(1 balasan) 👋
#1
❤️
Wernayasa
,
Bang homepage blog emissionhex ini widget semua ya? Gak nampilin postingan yg ada di blog1 kan?
Untuk blog1 itu pake tag kondisional atau di display none bang?
Untuk blog1 itu pake tag kondisional atau di display none bang?
(1 balasan) 👋
#1
❤️
Wernayasa
,
Iya.
Pakai kondisi notasi not tanda seru, kalau ditulis seperti ini: cond='!data:view.isHomepage'
Paste langsung di b:widget atau b:section tergantung struktur tema.
Koleksi kondisi blogger: [RAW]
Pakai kondisi notasi not tanda seru, kalau ditulis seperti ini: cond='!data:view.isHomepage'
Paste langsung di b:widget atau b:section tergantung struktur tema.
Koleksi kondisi blogger: [RAW]
How your theme progress?
(1 balasan) 👋
#1
Vũ Trần
,
I just need to complete the "post submission" system and adjust a few things, then the theme will be finished.
(1 balasan) 👋
#1
Vũ Trần
,
I will release more demos tonight, if everything goes smoothly :D
(1 balasan) 👋
#1
❤️
Wernayasa
,
hello min , i want to learn about making custom headers and footers and landing apge on home and homepage on custom url like hexanime for any blogger theme . can you please help me ?
Anticipating a positive response .
Thanking You ,
Anix Themes
Anticipating a positive response .
Thanking You ,
Anix Themes
(1 balasan) 👋
#1
❤️
Wernayasa
,
Take your time, no need to rush.
(1 balasan) 👋
#1
Vũ Trần
,
Create structure theme like this: <b:if cond='data:view.isHomepage'>
your homepage code
</b:if>
<b:if cond='!data:view.isHomepage'>
all your other theme code
</b:if> This is over simplified, but the idea is there.
your homepage code
</b:if>
<b:if cond='!data:view.isHomepage'>
all your other theme code
</b:if> This is over simplified, but the idea is there.
(1 balasan) 👋
#1
Anix Play
,
Do you want to be a "tester"? i'm looking for some people to test it. I'm basically done, but there's still a chance of errors.
(1 balasan) 👋
#1
❤️
Wernayasa
,
Sorry, I'm still working on my theme.
(1 balasan) 👋
#1
Vũ Trần
,
ohh thanks min , btw how can we make custom headers and footers ? it is very painful for me to create 😭
(1 balasan) 👋
#1
❤️
Wernayasa
,
I know, it not fun to make.
Learn how to use framework, it speed up your development time.
The quickest way to get started working with Flowbite is to include the CSS and JS into your project via CDN.
Paste above head <link href="https://cdn.jsdelivr.net/npm/flowbite@3.1.2/dist/flowbite.min.css" rel="stylesheet" /> Paste above body <script src="https://cdn.jsdelivr.net/npm/flowbite@3.1.2/dist/flowbite.min.js"></script> Next copy navbar code, chose any navbar you like: https://flowbite.com/docs/components/navbar/ or footer https://flowbite.com/docs/components/footer/ You can use an AI assistant like ChatGPT to help you get through this difficulty.
Learn how to use framework, it speed up your development time.
The quickest way to get started working with Flowbite is to include the CSS and JS into your project via CDN.
Paste above head <link href="https://cdn.jsdelivr.net/npm/flowbite@3.1.2/dist/flowbite.min.css" rel="stylesheet" /> Paste above body <script src="https://cdn.jsdelivr.net/npm/flowbite@3.1.2/dist/flowbite.min.js"></script> Next copy navbar code, chose any navbar you like: https://flowbite.com/docs/components/navbar/ or footer https://flowbite.com/docs/components/footer/ You can use an AI assistant like ChatGPT to help you get through this difficulty.
(1 balasan) 👋
#1
Anix Play
,
ok, are you making a new theme ?
The system for posting stories, chapters, and volumes has been running very smoothly. Tomorrow morning, I will release an official demo of this system, and a few days later, I will upload the official theme version :))
thank you min , yeah sure and i am working now on a new "Anime Streaming project" using base theme v12 ....
demo : https://anixplay-bt.blogspot.com/
cloning : https://github.com/5rahim/seanime/blob/main/docs/images/4/anime-entry-torrent-stream--sq.jpg
just came cross some issues like the layout is bit changed and getting issues in styling . if you are free btw can you help me with some aspects like blog1 grid layout and post series layout only ?
Anticipating a positive response .
Thanking You ,
Anix
demo : https://anixplay-bt.blogspot.com/
cloning : https://github.com/5rahim/seanime/blob/main/docs/images/4/anime-entry-torrent-stream--sq.jpg
just came cross some issues like the layout is bit changed and getting issues in styling . if you are free btw can you help me with some aspects like blog1 grid layout and post series layout only ?
Anticipating a positive response .
Thanking You ,
Anix
(1 balasan) 👋
#1
❤️
Wernayasa
,
Sorry, i still working on my theme.
In this case you can use b:tag with condition. Replace: <b:loop index='i' values='data:posts' var='post'>
<b:include data='post' name='postCommentsAndAd'/>
</b:loop> With: <b:tag class='grid grid-cols-[repeat(auto-fill,minmax(230px,1fr))] gap-4' cond='data:view.isMultipleItems' name='div'>
<b:loop index='i' values='data:posts' var='post'>
<b:include data='post' name='postCommentsAndAd'/>
</b:loop>
</b:tag>
In this case you can use b:tag with condition. Replace: <b:loop index='i' values='data:posts' var='post'>
<b:include data='post' name='postCommentsAndAd'/>
</b:loop> With: <b:tag class='grid grid-cols-[repeat(auto-fill,minmax(230px,1fr))] gap-4' cond='data:view.isMultipleItems' name='div'>
<b:loop index='i' values='data:posts' var='post'>
<b:include data='post' name='postCommentsAndAd'/>
</b:loop>
</b:tag>
This tag will create new div without interfering with your post Series.
yes, updating zeistmanga v6 to latest bloggerscript library.
(1 balasan) 👋
#1
Vũ Trần
,
I have completed the posting system but now it is blocked because of posting too much :v
Demo: https://truyentranhvuipro.blogspot.com/p/quan-ly_8.html
Tomorrow I will post the demo on your page
Demo: https://truyentranhvuipro.blogspot.com/p/quan-ly_8.html
Tomorrow I will post the demo on your page
(1 balasan) 👋
#1
❤️
Wernayasa
,
I see, that why i got an error: Error 403: access_denied
Membuat paginasi tanpa javascript apa bisa?
(1 balasan) 👋
#1
❤️
Wernayasa
,
Tidak bisa.
(1 balasan) 👋
#1
Tim-Tam
,
bang bisa bantu javascript?
aku ingin memasang post author blogger tapi gagal terus.
// buat ambil data penulis
const post = posts[originalPosition]; // Dapatkan post dari data yang sesuai
const author = post.author ? post.author[0].name.$t : 'Unknown'; // data penulisnya
const contentRow = document.createElement('tr');
contentRow.classList.add('post-content');
contentRow.innerHTML = `
<td colspan="4">${content}</td> <!-- Konten utama -->
<td colspan="1" class="author-cell"><strong>Penulis:</strong> ${author}</td> <!-- Author di kolom Rilis -->
`;
hasilnya Unknown terus.
gimana caranya biar dapetin post authornya?
aku ingin memasang post author blogger tapi gagal terus.
// buat ambil data penulis
const post = posts[originalPosition]; // Dapatkan post dari data yang sesuai
const author = post.author ? post.author[0].name.$t : 'Unknown'; // data penulisnya
const contentRow = document.createElement('tr');
contentRow.classList.add('post-content');
contentRow.innerHTML = `
<td colspan="4">${content}</td> <!-- Konten utama -->
<td colspan="1" class="author-cell"><strong>Penulis:</strong> ${author}</td> <!-- Author di kolom Rilis -->
`;
hasilnya Unknown terus.
gimana caranya biar dapetin post authornya?
(1 balasan) 👋
#1
Tim-Tam
,
lupa.
demonya [Disini], nanti tekan saja judulnya pasti muncul.
demonya [Disini], nanti tekan saja judulnya pasti muncul.
(1 balasan) 👋
#1
❤️
Wernayasa
,
Coba ini: // buat ambil data penulis const post = posts[originalPosition]; // Dapatkan post dari data yang sesuai
const author = post.author ?
(Array.isArray(post.author) ? post.author[0].name.$t : post.author.name.$t)
: (post.entry && post.entry.author ? post.entry.author.name.$t : 'Unknown');
const contentRow = document.createElement('tr');
contentRow.classList.add('post-content');
contentRow.innerHTML = `
<td colspan="4">${content}</td>
<td colspan="1" class="author-cell"><strong>Penulis:</strong> ${author}</td>
`; Entah bisa atau engk, karena ini buatan ai.
Coba baca dokumetasi ini: [audiralog - Menggunakan Blogger JSON Feed API]
const author = post.author ?
(Array.isArray(post.author) ? post.author[0].name.$t : post.author.name.$t)
: (post.entry && post.entry.author ? post.entry.author.name.$t : 'Unknown');
const contentRow = document.createElement('tr');
contentRow.classList.add('post-content');
contentRow.innerHTML = `
<td colspan="4">${content}</td>
<td colspan="1" class="author-cell"><strong>Penulis:</strong> ${author}</td>
`; Entah bisa atau engk, karena ini buatan ai.
Coba baca dokumetasi ini: [audiralog - Menggunakan Blogger JSON Feed API]
tetep gak bisa, mungkin mau pake nama secara langsung gak pake post author.
kalo komentar bisa di panggil pake feed json juga gak ya?
bisa bisa komen secara langsung gitu.
kalo komentar bisa di panggil pake feed json juga gak ya?
bisa bisa komen secara langsung gitu.
(1 balasan) 👋
#1
MAGIC Reincarnated
,
satu lagi, supaya url blogger.com berubah jadi nama Blognya gimana?
pake meta tag juga?
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEievMmXzjI8JFPBXBKC-kF3AQ7JxJ8wCAVDcy5Q3hTU9CEpZ_sm0n_6TkaUICOeff23iYqmOfDD_elMxS55ryTyNHsJX07jieKGwyH0VZFAKPW0-9rpBIxcft8ZHaYZYbuMHx72bdqooUfc6JJw4q3mZcxLIy39LgjorEjade7SI4Dv1f9bEWBq-G6H7OUC/s1600/2.png
pake meta tag juga?
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEievMmXzjI8JFPBXBKC-kF3AQ7JxJ8wCAVDcy5Q3hTU9CEpZ_sm0n_6TkaUICOeff23iYqmOfDD_elMxS55ryTyNHsJX07jieKGwyH0VZFAKPW0-9rpBIxcft8ZHaYZYbuMHx72bdqooUfc6JJw4q3mZcxLIy39LgjorEjade7SI4Dv1f9bEWBq-G6H7OUC/s1600/2.png
(1 balasan) 👋
#1
❤️
Wernayasa
,
Tidak tau, google yang mengatur itu.
ada apa dengan blogmu? gk bisa dicari di google: https://datakodehiru.blogspot.com/ Coba cek pengaturan non index.
(1 balasan) 👋
#1
MAGIC Reincarnated
,
makasih bang,kirain saya salah terus pas bikin javascriptnya ternyata emang gak bisa di private.
@Wernayasa [Demo]
kalo kotak komentar blogger apa bisa di tampilin juga dengan feed json juga?
aku gagal terus.
niatnya mau pasang kotak komentar blogger di atas colspan label.
tapi gagal terus.
siapa tahu ada yang bisa disini.
kalo kotak komentar blogger apa bisa di tampilin juga dengan feed json juga?
aku gagal terus.
niatnya mau pasang kotak komentar blogger di atas colspan label.
tapi gagal terus.
siapa tahu ada yang bisa disini.
Tidak tau, aku kurang paham masalah api.
Coba ini: https://stackoverflow.com/questions/48038857/blogger-how-to-get-comments-number-from-feed
Coba ini: https://stackoverflow.com/questions/48038857/blogger-how-to-get-comments-number-from-feed
(1 balasan) 👋
#1
,
this is the old code of onetap theme, I tested it and it didn't have any problem. You should try it. Code: https://anotepad.com/notes/i9rxi884
Demo: https://truyentranhvuipro.blogspot.com/p/test.html
Demo: https://truyentranhvuipro.blogspot.com/p/test.html
thanks min , i also tried the framework and made temporary header ( will be replacing later ) . the main issue with the headers and footers in blogger are the img replace for logo code and all
(1 balasan) 👋
#1
❤️
Wernayasa
,
min mau tanya ini pakai script berdasarkan label atau bukan?
[Link]
[Link]
(1 balasan) 👋
#1
❤️
Wernayasa
,
Kalau lewat blogger expression, Cara ubah hasil gambarnya ke webp gimana ya ?
<b:eval expr='resizeImage(data:post.featuredImage, 1200, "1200:630")'/>
<b:eval expr='resizeImage(data:post.featuredImage, 1200, "1200:630")'/>
I'm sorry, it's not clear what you are describing.
Please provide me with some screenshots.
Please provide me with some screenshots.
Iya, berdasarkan label.
Tidak tau.
Kalau ada yg tau tolong share triknya.
Kalau ada yg tau tolong share triknya.
(1 balasan) 👋
#1
Tim-Tam
,
gak bakalan bisa bre, itu kan wajib di convert. blogger gak punya kemampuan seperti itu.
pake saja ini, bisa conver ribuan gambar sekaligus. gak cuman webp bisa ke ekstensi lainnya juga.
aku sudah buatin tutorialnya: [Langsung Gass]
pake saja ini, bisa conver ribuan gambar sekaligus. gak cuman webp bisa ke ekstensi lainnya juga.
aku sudah buatin tutorialnya: [Langsung Gass]
bang toc [INI] pake apa?
saya coba pake feed json berdasarkan label lama banget, harus nunggu di load dulu.
saya coba pake feed json berdasarkan label lama banget, harus nunggu di load dulu.
Forum Bot said:
This comment has been removed by the author.
Sequential loading from the feed source takes a long time. However, I have a method that can load thousands of chapters from the data feed in under 3 seconds.
You can refer to the following article: https://emissionhex.blogspot.com/2025/03/demo-onetap-manga-100-theme-of-story.html
You can refer to the following article: https://emissionhex.blogspot.com/2025/03/demo-onetap-manga-100-theme-of-story.html
(1 balasan) 👋
#1
Tim-Tam
,
gini?
const postContainer=document.getElementById("post-container");const label=postContainer.getAttribute("data-label");const feedUrl=startIndex=>`/feeds/posts/default/-/${label}?alt=json&start-index=${startIndex}&max-results=150`;let allChapters=[],currentIndex=-1;function getCurrentPostLink(){return window.location.href;}async function fetchChapters(startIndex){try{const response=await fetch(feedUrl(startIndex));const data=await response.json();return data.feed.entry.map(entry=>({title:entry.title.$t,link:entry.link.find(link=>link.rel==="alternate").href,thumbnail:entry.media$thumbnail?entry.media$thumbnail.url:"",published:new Date(entry.published.$t)}));}catch(error){console.error("Error fetching chapters:",error);return[];}}async function loadAllChapters(){try{const initialResponse=await fetch(feedUrl(1));const initialData=await initialResponse.json();const totalResults=parseInt(initialData.feed.openSearch$totalResults.$t);allChapters.push(...initialData.feed.entry.map(entry=>({title:entry.title.$t,link:entry.link.find(link=>link.rel==="alternate").href,thumbnail:entry.media$thumbnail?entry.media$thumbnail.url:"",published:new Date(entry.published.$t)})));const startIndexes=[];for(let i=151;i<=totalResults;i+=150){startIndexes.push(i);}const remainingChapters=await Promise.all(startIndexes.map(startIndex=>fetchChapters(startIndex)));remainingChapters.forEach(chapters=>allChapters.push(...chapters));const currentPostLink=getCurrentPostLink();currentIndex=allChapters.findIndex(chapter=>chapter.link===currentPostLink);if(currentIndex===-1){currentIndex=0;}updateButtonVisibility();createToC(allChapters);}catch(error){console.error("Error loading all chapters:",error);}}function createToC(filteredPosts){const tocItems=document.getElementById("toc-items");tocItems.innerHTML=filteredPosts.map((post,i)=>`<div class="toc-item"><img src="${post.thumbnail}" alt="Thumbnail" class="toc-thumbnail"><a href="#" onclick="jumpToPost(${i})" class="toc-link">${post.title}</a></div>`).join("");}function jumpToPost(index){currentIndex=index;const postLink=allChapters[currentIndex].link;window.location.assign(postLink);}function updateButtonVisibility(){document.getElementById("prev-btn").disabled=currentIndex<=0;document.getElementById("next-btn").disabled=currentIndex>=allChapters.length-1;}function navigatePost(step){currentIndex+=step;if(currentIndex<0)currentIndex=0;if(currentIndex>=allChapters.length)currentIndex=allChapters.length-1;updateButtonVisibility();const postLink=allChapters[currentIndex]?.link;if(postLink){window.location.assign(postLink);}else{console.warn("Tidak ada tautan untuk postingan ini.");}}document.getElementById("prev-btn").addEventListener("click",()=>{navigatePost(-1);});document.getElementById("next-btn").addEventListener("click",()=>{navigatePost(1);});document.getElementById("toc-btn").addEventListener("click",()=>{const tocList=document.getElementById("toc-list");tocList.classList.add("open");});document.getElementById("close-btn").addEventListener("click",()=>{const tocList=document.getElementById("toc-list");tocList.classList.remove("open");});loadAllChapters();
const postContainer=document.getElementById("post-container");const label=postContainer.getAttribute("data-label");const feedUrl=startIndex=>`/feeds/posts/default/-/${label}?alt=json&start-index=${startIndex}&max-results=150`;let allChapters=[],currentIndex=-1;function getCurrentPostLink(){return window.location.href;}async function fetchChapters(startIndex){try{const response=await fetch(feedUrl(startIndex));const data=await response.json();return data.feed.entry.map(entry=>({title:entry.title.$t,link:entry.link.find(link=>link.rel==="alternate").href,thumbnail:entry.media$thumbnail?entry.media$thumbnail.url:"",published:new Date(entry.published.$t)}));}catch(error){console.error("Error fetching chapters:",error);return[];}}async function loadAllChapters(){try{const initialResponse=await fetch(feedUrl(1));const initialData=await initialResponse.json();const totalResults=parseInt(initialData.feed.openSearch$totalResults.$t);allChapters.push(...initialData.feed.entry.map(entry=>({title:entry.title.$t,link:entry.link.find(link=>link.rel==="alternate").href,thumbnail:entry.media$thumbnail?entry.media$thumbnail.url:"",published:new Date(entry.published.$t)})));const startIndexes=[];for(let i=151;i<=totalResults;i+=150){startIndexes.push(i);}const remainingChapters=await Promise.all(startIndexes.map(startIndex=>fetchChapters(startIndex)));remainingChapters.forEach(chapters=>allChapters.push(...chapters));const currentPostLink=getCurrentPostLink();currentIndex=allChapters.findIndex(chapter=>chapter.link===currentPostLink);if(currentIndex===-1){currentIndex=0;}updateButtonVisibility();createToC(allChapters);}catch(error){console.error("Error loading all chapters:",error);}}function createToC(filteredPosts){const tocItems=document.getElementById("toc-items");tocItems.innerHTML=filteredPosts.map((post,i)=>`<div class="toc-item"><img src="${post.thumbnail}" alt="Thumbnail" class="toc-thumbnail"><a href="#" onclick="jumpToPost(${i})" class="toc-link">${post.title}</a></div>`).join("");}function jumpToPost(index){currentIndex=index;const postLink=allChapters[currentIndex].link;window.location.assign(postLink);}function updateButtonVisibility(){document.getElementById("prev-btn").disabled=currentIndex<=0;document.getElementById("next-btn").disabled=currentIndex>=allChapters.length-1;}function navigatePost(step){currentIndex+=step;if(currentIndex<0)currentIndex=0;if(currentIndex>=allChapters.length)currentIndex=allChapters.length-1;updateButtonVisibility();const postLink=allChapters[currentIndex]?.link;if(postLink){window.location.assign(postLink);}else{console.warn("Tidak ada tautan untuk postingan ini.");}}document.getElementById("prev-btn").addEventListener("click",()=>{navigatePost(-1);});document.getElementById("next-btn").addEventListener("click",()=>{navigatePost(1);});document.getElementById("toc-btn").addEventListener("click",()=>{const tocList=document.getElementById("toc-list");tocList.classList.add("open");});document.getElementById("close-btn").addEventListener("click",()=>{const tocList=document.getElementById("toc-list");tocList.classList.remove("open");});loadAllChapters();
(1 balasan) 👋
#1
Vũ Trần
,
Pakai skrip dayat.id
skrip buatannya sangat bagus, sudah saya pakai sejak dulu.
[Source codenya]
Cari code: const npX={arr:new Array,
skrip buatannya sangat bagus, sudah saya pakai sejak dulu.
[Source codenya]
Cari code: const npX={arr:new Array,
(1 balasan) 👋
#1
Tim-Tam
,
mantap nih
i can't translate "gini?" but it seems your code works, i glanced at the line let i=151;i<=totalResults;i+=150 so it seems you have applied it.
This is the best possible method, there is no faster method.
This is the best possible method, there is no faster method.
(1 balasan) 👋
#1
Vũ Trần
,
The common method people often use is sequential loading. Each time the number of posts in the feed equals max-results, the system will call the next start-index. However, this approach is very time-consuming when dealing with a large number of posts.
This new method is my own idea. If you look closely, you’ll notice that the openSearch$totalResults parameter represents the total number of posts across the entire system, unrestricted by max-results. By simply using this value to set up a for loop, determining the necessary start-index values, and leveraging Promise.all for parallel fetching, we can significantly optimize loading speed. This is the best possible method, so there will be no better approach.
This new method is my own idea. If you look closely, you’ll notice that the openSearch$totalResults parameter represents the total number of posts across the entire system, unrestricted by max-results. By simply using this value to set up a for loop, determining the necessary start-index values, and leveraging Promise.all for parallel fetching, we can significantly optimize loading speed. This is the best possible method, so there will be no better approach.
(1 balasan) 👋
#1
Vũ Trần
,
Honestly, I believe we should reuse the feed source. If we reload the entire feed every time we switch to a new chapter, it will be time-consuming and consume more resources.
Here’s how I optimize it (only requires loading once): [Link]
Here’s how I optimize it (only requires loading once): [Link]
(1 balasan) 👋
#1
❤️
Wernayasa
,
For a long time, I couldn't understand what you meant.
In my new version, I've added session storage to improve the speed of navigating between chapters.
Now, after reading your second comment, I understand.
Essentially, we are reusing the feed repeatedly all across the theme?
I'm going to try to create a unified feed that can be accessed by all feed themes.
This is a big project, I'm not sure if I'll succeed.
In my new version, I've added session storage to improve the speed of navigating between chapters.
Now, after reading your second comment, I understand.
Essentially, we are reusing the feed repeatedly all across the theme?
I'm going to try to create a unified feed that can be accessed by all feed themes.
This is a big project, I'm not sure if I'll succeed.
Using "session storage" is not a good idea because it has a limit of about 5–10MB.
My idea is to use an array:
let ChapterCache = [];
to store the chapters.
We will take the id (post ID) of the current chapter and compare it within ChapterCache to determine its position.
When the user clicks "next/prev," instead of reloading the page, we will fetch the data from ChapterCache. We will reuse the existing page structure, only changing the title and content (similar to a single-page application but limited to navigating between chapters).
Using history.pushState, we update the URL as if the user is accessing a new page and push the state into the browser history. This allows the user to use the back/forward buttons as usual.
Here is a demo:
Demo page: [Link]
Demo video: [Link]
This is currently the best approach, and there is certainly no better alternative. Using "session storage" is not just a bad idea—it’s terrible. With this approach, resource usage is minimized because the feed is only loaded once, as we reuse both the feed data and the page structure.
My idea is to use an array:
let ChapterCache = [];
to store the chapters.
We will take the id (post ID) of the current chapter and compare it within ChapterCache to determine its position.
When the user clicks "next/prev," instead of reloading the page, we will fetch the data from ChapterCache. We will reuse the existing page structure, only changing the title and content (similar to a single-page application but limited to navigating between chapters).
Using history.pushState, we update the URL as if the user is accessing a new page and push the state into the browser history. This allows the user to use the back/forward buttons as usual.
Here is a demo:
Demo page: [Link]
Demo video: [Link]
This is currently the best approach, and there is certainly no better alternative. Using "session storage" is not just a bad idea—it’s terrible. With this approach, resource usage is minimized because the feed is only loaded once, as we reuse both the feed data and the page structure.
And do you know what the result will be? Next/prev between chapters will have "NO DELAY" :)
I understand, because what I said was a bit confusing :v
Forum Bot said:
This comment has been removed by the author.
I tend to write performance-oriented code, meaning it consumes fewer resources, runs faster, and has shorter execution times. I often share my approach to this, but the content seems a bit hard to understand :v
(1 balasan) 👋
#1
MAGIC Reincarnated
,
Here is an example of my idea with a simpler version: https://mskmangaz.blogspot.com/p/test.html
(1 balasan) 👋
#1
❤️
Wernayasa
,
Nice.
I'm still not accustomed to your method, but I'm slowly learning.
I'm still not accustomed to your method, but I'm slowly learning.
Jika pakai blogger conditional tag, Cara identifikasi url memiliki query tertentu bagaimana ya?
misalnya membuka https://blogger.blogspot.com/?m=1&u=kataKunci
<!-- sudah pakai ini tapi tidak bisa -->
<b:if cond='data:blog.url has "u=kataKunci"'>
<b:if cond='data:blog.url in "u=kataKunci"'>
<b:if cond='data:blog.url includes "u=kataKunci"'>
misalnya membuka https://blogger.blogspot.com/?m=1&u=kataKunci
<!-- sudah pakai ini tapi tidak bisa -->
<b:if cond='data:blog.url has "u=kataKunci"'>
<b:if cond='data:blog.url in "u=kataKunci"'>
<b:if cond='data:blog.url includes "u=kataKunci"'>
(1 balasan) 👋
#1
❤️
Wernayasa
,
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl + "?m=1&u=kataKunci"'> Aku belum pernah melihat u=kataKunci, apa ini fungsi baru?
Query pencarian seharusnya search?q=kataKunci
Query pencarian seharusnya search?q=kataKunci
Yes, it may be true, as a beginner I also had difficulty understanding it, until it took me 3 days to learn about retrieving data in batch using [promiseAll].
The result is quite satisfying, as a start for me 🥳 [Link].
I think it's better to make an article, I need to understand how it works further.
Reading it through code is a bit difficult.
The result is quite satisfying, as a start for me 🥳 [Link].
I think it's better to make an article, I need to understand how it works further.
Reading it through code is a bit difficult.
(1 balasan) 👋
#1
❤️
Wernayasa
,
itu aku hapus..karena gak dibutuhkan untuk sekarang.
Aku punya ide,
bagaimana kalau json nya disimpan di session storage (bukan local storage) dengan id post tersebut agar gk perlu load kalau berpindah chapter.
bagaimana kalau json nya disimpan di session storage (bukan local storage) dengan id post tersebut agar gk perlu load kalau berpindah chapter.
Good, but using session storage has a 5MB limit. So, we'll use an array to store the chapters and reuse it multiple times when navigating next/prev. Since the array is stored in RAM, it's more suitable for handling large JSON data that exceeds the 5MB limit.
(1 balasan) 👋
#1
Vũ Trần
,
Forum Bot said:
This comment has been removed by the author.
Demo: https://youtu.be/rpmlKoCDYt4
ya, perlu dibikin database agar gk terlalu sering load, indexedDB mungkin pilihan paling bagus kalau local karena Size penyimpanan besar.
Baru pernah denganr indexedDB.
Kayaknya bagus nih.
Kayaknya bagus nih.
(1 balasan) 👋
#1
MAGIC Reincarnated
,
Using IndexedDB can be quite complicated when it comes to managing series, updating data, and optimizing performance. If you're storing thousands of series and a bug occurs, fixing it can be a real headache :))
To handle this properly, you need a robust system with optimized algorithms. For example, binary search and other powerful algorithms can be applied to speed up queries.
However, to keep things simple, we can just use a JavaScript array to temporarily store the chapters – and that's more than enough!
Demo Storing chapters in an array: [Link]
To handle this properly, you need a robust system with optimized algorithms. For example, binary search and other powerful algorithms can be applied to speed up queries.
However, to keep things simple, we can just use a JavaScript array to temporarily store the chapters – and that's more than enough!
Demo Storing chapters in an array: [Link]
(1 balasan) 👋
#1
MAGIC Reincarnated
,
If we only rely on variables to store data as an array, it is difficult to do because our website needs to load every time we change pages.
This method is only good on Single page.
Recently I tested indexedDB with 12000 data, The results are quite good even though when there is a new post or post update it takes a little longer, about 5-9seconds to update the post.
This method is only good on Single page.
Recently I tested indexedDB with 12000 data, The results are quite good even though when there is a new post or post update it takes a little longer, about 5-9seconds to update the post.
In the video, I reuse the data multiple times.
It doesn't necessarily have to be 'spa'.
It doesn't necessarily have to be 'spa'.
Demo: Series 10.000 +
[Link]
You are right, it is very difficult to speed up queries to update a particular post.
[Link]
You are right, it is very difficult to speed up queries to update a particular post.
What if there is a new post? Don't we need to reload the script?
Bagus banget malah, mines gak ada expnya gak seperti cache atau sessions
Here is an example I reused without the website being a spa: https://mskmangaz.blogspot.com/p/test.html
Forum Bot said:
This comment has been removed by the author.
Really, really terrible :v
Why not use pagination instead? It will save a lot of resources, better performance.
Why not use pagination instead? It will save a lot of resources, better performance.
It will adapt to user needs and always return the latest data.
(1 balasan) 👋
#1
Vũ Trần
,
Instead of loading the entire feed, only the relevant portion is loaded based on the user's current page.
(1 balasan) 👋
#1
Vũ Trần
,
Demo: [Link]
Because I prefer to use loadmore/scroll like tachiyomi.
There are already 4 modes in the code
1. load All
2. pagination
3. Btn load more
4. Scroll Load more
https://i.ibb.co/Vc3fbXQ0/Screenshot-20250330-023448.jpg
There are already 4 modes in the code
1. load All
2. pagination
3. Btn load more
4. Scroll Load more
https://i.ibb.co/Vc3fbXQ0/Screenshot-20250330-023448.jpg
(1 balasan) 👋
#1
MAGIC Reincarnated
,
https://i.ibb.co/XrVc6m3f/Screenshot-20250330-023448.jpg
Gk kepikiran membuat pengaturan seperti itu.
Kayaknya komponenmu sudah lengkap, bisa dibikin web app mirip tachiyomi. ☑ Homepage
☑ Reader
☑ Chapter List (Series)
Kayaknya komponenmu sudah lengkap, bisa dibikin web app mirip tachiyomi. ☑ Homepage
☑ Reader
☑ Chapter List (Series)
(1 balasan) 👋
#1
MAGIC Reincarnated
,
I initially thought it would load everything.
However, you should use a Web Worker to prevent lag on the main thread when loading Series data into IndexedDB.
Additionally, there are several major challenges, such as updating posts, optimizing resources, and bandwidth efficiency.
There's a similar site that also uses IndexedDB for storage across the entire platform: https://truyendex.com/nettrom
However, you should use a Web Worker to prevent lag on the main thread when loading Series data into IndexedDB.
Additionally, there are several major challenges, such as updating posts, optimizing resources, and bandwidth efficiency.
There's a similar site that also uses IndexedDB for storage across the entire platform: https://truyendex.com/nettrom
iya semua komponennya udah lengkap total, tinggal pasang keblog aja (lagi rencana bikin blog libary compact).
cuman belum ada waktu aja.
cuman belum ada waktu aja.
(1 balasan) 👋
#1
❤️
Wernayasa
,
Yap, itu masalahnay.
Banyak rencana tapi sedikit waktu.
Tadi pagi aku coba bikin ui untuk web app, ternyata sulit juga.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_KbG7Q7y08RkERyCXfBOJ5pun9-XDA6HxLEweJ5_DcnyDUyVavtNYah3K27USTjUKk7V3XG4BWCwpIbtDJs6qPU1YuC1J9NXDDIiD30HiZovqiKgai__RDd6SW1H1RrNxXeuVGAX4f-9FtBF9bOV6Oq_4rw0k0CQVDVoI-KaaHMHMkQ1RWNql0vLfPs0/s854/Screenshot%202025-03-30%20at%2007-04-16%20.png
Proyeknya batal.
Aku bakal bikin web app kalau antrian tema sudah clear.
Banyak rencana tapi sedikit waktu.
Tadi pagi aku coba bikin ui untuk web app, ternyata sulit juga.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_KbG7Q7y08RkERyCXfBOJ5pun9-XDA6HxLEweJ5_DcnyDUyVavtNYah3K27USTjUKk7V3XG4BWCwpIbtDJs6qPU1YuC1J9NXDDIiD30HiZovqiKgai__RDd6SW1H1RrNxXeuVGAX4f-9FtBF9bOV6Oq_4rw0k0CQVDVoI-KaaHMHMkQ1RWNql0vLfPs0/s854/Screenshot%202025-03-30%20at%2007-04-16%20.png
Proyeknya batal.
Aku bakal bikin web app kalau antrian tema sudah clear.
(1 balasan) 👋
#1
Tim-Tam
,
kira-kira berat gak nih bang?
Baca manga : [Demo]
Baca novel : [Demo]
Untuk baca manga pake navigasi dinamis bisa dengan cara klik gambar dan navigasi keyboard jadi enak mau di baca di pc atau mobile apalagi fokus ke manganya.
Untuk baca novel pake highlight teks jadi enak kalo pake text to speech.
untuk baca novel masih agak was-was soalnya itu merubah struktur html ketika ada higlight teks jadi takutnya bikin yang perangkatnya biasa aja jadi lag.
Baca manga : [Demo]
Baca novel : [Demo]
Untuk baca manga pake navigasi dinamis bisa dengan cara klik gambar dan navigasi keyboard jadi enak mau di baca di pc atau mobile apalagi fokus ke manganya.
Untuk baca novel pake highlight teks jadi enak kalo pake text to speech.
untuk baca novel masih agak was-was soalnya itu merubah struktur html ketika ada higlight teks jadi takutnya bikin yang perangkatnya biasa aja jadi lag.
(1 balasan) 👋
#1
❤️
Wernayasa
,
Ringan. Recomended.
Seharusnya seperti ini post chapter, temaku sudah ketingalan zaman.
Makanya, kedepannya nanti temaku pakai cara ini.
Aku gk terlalu minat dengan text to speech.
Tapi berguna untuk orang yg punya disabilitas.
Menurutku gk akan berdampak pada peformace.
Seharusnya seperti ini post chapter, temaku sudah ketingalan zaman.
Makanya, kedepannya nanti temaku pakai cara ini.
Aku gk terlalu minat dengan text to speech.
Tapi berguna untuk orang yg punya disabilitas.
Menurutku gk akan berdampak pada peformace.
Hello guys. I don't speak your language, so i will speak in english. I would like to know how to use the "random post" field. I labeled some works as "completed", as it is marked in the field, but the works did not appear, this part just kept loading. What should I do to make it work?
(1 balasan) 👋
#1
❤️
Wernayasa
,
What theme do you use?
Put label Completed
Labels are case sensitive.
Put label Completed
Labels are case sensitive.
(1 balasan) 👋
#1
,
gimana cara pasang badge sesuai label?
(1 balasan) 👋
#1
❤️
Wernayasa
,
<b:if cond='data:post.labels any (l => l.name == "OVA")' name='OVA'>
Code html disini...
</b:if>
Code html disini...
</b:if>
Seharusnya sama menurut homepage.
Sudah kucek, hasilnya sama.
Ada yg munculnya delay.
Sudah kucek, hasilnya sama.
Ada yg munculnya delay.
bukan delay bang tapi infinite scroll.
postingannya aku set 9.
postingannya aku set 9.
untuk menghilangkan postingan tertentu di blog1 biasanya menggunakan apa?
saya pake ini:
<b:loop index='i' values='data:posts' var='post'>
<b:if cond='data:post.labels'>
<b:if cond='!(data:post.labels any (l => l.name == "Chapter"))'>
<b:include data='post' name='postCommentsAndAd'/>
</b:if>
</b:if>
</b:loop>
ternyata kalo pake itu yang di hilangkan juga masih termasuk postingannya, jadi kalo di set 9 post, postingan terbaru yang di hilangkan tetap di hitung, di homepage jadinya cuman ada 8 postingan.
saya pake ini:
<b:loop index='i' values='data:posts' var='post'>
<b:if cond='data:post.labels'>
<b:if cond='!(data:post.labels any (l => l.name == "Chapter"))'>
<b:include data='post' name='postCommentsAndAd'/>
</b:if>
</b:if>
</b:loop>
ternyata kalo pake itu yang di hilangkan juga masih termasuk postingannya, jadi kalo di set 9 post, postingan terbaru yang di hilangkan tetap di hitung, di homepage jadinya cuman ada 8 postingan.
jadinya bukan pake postingan di blog1, tapi pake widget?
(1 balasan) 👋
#1
❤️
Wernayasa
,
Yap, benar.
Semuanya widget javascript.
Semuanya widget javascript.
New project: DexManga
Demo: https://mskcomicpro.blogspot.com
Inherit SPA from OneTap and further optimize page loading speed.
Demo: https://mskcomicpro.blogspot.com
Inherit SPA from OneTap and further optimize page loading speed.
(1 balasan) 👋
#1
Vũ Trần
,
https://dexmanga-demo.blogspot.com
(1 balasan) 👋
#1
❤️
Wernayasa
,
Is this clone of mangadex?
yes, but besides mangadex i also refer to many other themes.
This theme will be extremely powerful in terms of page load speed and user interface.
This theme will be extremely powerful in terms of page load speed and user interface.
I'm also thinking of another name for it. "DexManga" is just temporary.
(1 balasan) 👋
#1
❤️
Wernayasa
,
I see.
Good luck with your new project.
Good luck with your new project.
(1 balasan) 👋
#1
Vũ Trần
,
Thanks
Here is the new link: https://kazemanga-demo.blogspot.com/
Hello nim, do you know how to add class 'locked' if the post has label 'Locked'? For example next to the class char in this: <li class="char"> I can't edit the script because it's obfuscation.
(1 balasan) 👋
#1
❤️
Wernayasa
,
This is xml version: <b:class cond='data:post.labels any (l => l.name == "Locked")' name='locked'/>
(1 balasan) 👋
#1
,
I mean this https://ibb.co/1JjJ3cfd
No, you can't.
Kai Haruto is not active?
Maybe he's busy.
kepikiran buat bikin search box yang bisa cari judul dari bahasa lain.
akhirnya bisa juga [link]
siapa tahu bisa jadi update buat template animanga lain.
jadi bisa mencari menggunakan judul post dan juga judul yang terkait, contoh post saya ada series ini, dengan mengetik salah satu judul ini akan langsung muncul di pencariannya. jadi makin fleksibel.
RE: Ankoku Kishi Monogatari
Dark Knight Story
RE: Tale of the Dark Knight
暗黒騎士物語
akhirnya bisa juga [link]
siapa tahu bisa jadi update buat template animanga lain.
jadi bisa mencari menggunakan judul post dan juga judul yang terkait, contoh post saya ada series ini, dengan mengetik salah satu judul ini akan langsung muncul di pencariannya. jadi makin fleksibel.
RE: Ankoku Kishi Monogatari
Dark Knight Story
RE: Tale of the Dark Knight
暗黒騎士物語
(1 balasan) 👋
#1
❤️
Wernayasa
,
Ok, mantap.
Sudah selesai kah temamu?
Sudah selesai kah temamu?
Maybe but I saw some time ago Kai Haruto just finished updating the fansub website theme
pertanyaan:
kalau gabungkan xml dengan js untuk menangkap label bakal ada masalahkah kedepannya.
[link]
tujuanku mau pasang label lebih bebas dibagian chapter, contoh translation by authorname, Volume Number.
kalau gabungkan dengan js lebih enak aja bisa pakai regex.
tapi aku gak tau bakal ada masalah atau tidak kedepannya.
kalau gabungkan xml dengan js untuk menangkap label bakal ada masalahkah kedepannya.
[link]
tujuanku mau pasang label lebih bebas dibagian chapter, contoh translation by authorname, Volume Number.
kalau gabungkan dengan js lebih enak aja bisa pakai regex.
tapi aku gak tau bakal ada masalah atau tidak kedepannya.
(1 balasan) 👋
#1
❤️
Wernayasa
,
Engk ada masalah.
Menurutku ini cara modern menggabungkan xml dan js.
Menurutku ini cara modern menggabungkan xml dan js.
(1 balasan) 👋
#1
MAGIC Reincarnated
,
makasih.
tadinya aku khawatir bakal ada masalah kedepannya, soalnya udah 60% pakai js bikin themanya.
tadinya aku khawatir bakal ada masalah kedepannya, soalnya udah 60% pakai js bikin themanya.
(1 balasan) 👋
#1
❤️
Wernayasa
,
Aku belajar dari codemu ternyata bisa menambahkan /*<![CDATA[*/ secara partial di dalam script.
Biasanya code itu sebelum dan sesudah tag script.
Tema baru atau update tema?
Biasanya code itu sebelum dan sesudah tag script.
Tema baru atau update tema?
Anyone how to make this dark mode? https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTFyvGnH20WsMiipENwjmgtQmqoWcNZLYYKTJuwjFPbHmH4iIgJznbOTstUeWQ5c-EE4M8Qu6lunQJnHwzcf34THsK6GlmVSuDqvT93YJismwVxpJPbckutKGpBqmiUqCC1DZKEzi4t9viLid2l1adIQXQCn_H6Zu6DJ5v2TR4WcFVA_mjrZO2Otozuy4j/s1600/image.webp
Hello friends, what servers do you recommend for uploading anime?
Hai Nim, gimana ya caranya supaya ini bisa dilakukan? Terus, bisa nggak kalau ada notifikasi kayak di tema Igniel kalau seseorang hapus komentarnya sendiri? Makasih! https://ibb.co/Xxm642qH
(1 balasan) 👋
#1
❤️
Wernayasa
,
Ak tidak tau.
Forum Bot said:
This comment has been removed by the author.
bang infokan cara buat navigasi halaman komentar untuk blogger
(1 balasan) 👋
#1
❤️
Wernayasa
,
Ini hanya muncul jika ada 200 komentar: <b:if cond='data:post.commentPagingRequired'>
<div class='paging-control-container'>
<b:if cond='data:post.hasOlderLinks'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
<data:messages.oldest/>
</a>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
<data:messages.older/>
</a>
</b:if>
<span class='comment-range-text'>
<data:post.commentRangeText/>
</span>
<b:if cond='data:post.hasNewerLinks'>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
<data:messages.newer/>
</a>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
<data:messages.newest/>
</a>
</b:if>
</div>
</b:if>
<div class='paging-control-container'>
<b:if cond='data:post.hasOlderLinks'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
<data:messages.oldest/>
</a>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
<data:messages.older/>
</a>
</b:if>
<span class='comment-range-text'>
<data:post.commentRangeText/>
</span>
<b:if cond='data:post.hasNewerLinks'>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
<data:messages.newer/>
</a>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
<data:messages.newest/>
</a>
</b:if>
</div>
</b:if>
min, ada kontak personal gk?
(1 balasan) 👋
#1
❤️
Wernayasa
,
Kirim email ke: wernayasa@gmail.com
nyoba replace episode/ep/dub akhirnya bisa
[link]
[link]
(1 balasan) 👋
#1
❤️
Wernayasa
,
Forum Bot said:
This comment has been removed by the author.
Ok, makasih.
Aku bookmark dulu.
Aku bookmark dulu.
Script [Manga Reader] , siapa tau butuh, All chapter di satu page, download aja filenya [disini]
Ok, makasih.
Minta izin copy codenya untuk di implementasikan ke temaku.
Minta izin copy codenya untuk di implementasikan ke temaku.
wah bagus banget nih (◡ ω ◡)
ijin buat ambil untuk pembelajaran
ijin buat ambil untuk pembelajaran
Silahkan di bedah sesuai kebutuhan masing², itu masih script purwarupa, mungkin bisa dikembangkan lebih baik lagi
Halo min, mau nanya, ada gak template untuk web batch?
(1 balasan) 👋
#1
❤️
Wernayasa
,
Tidak ada.
(1 balasan) 👋
#1
Han Haoyu
,
min tau kak hiru (hiruthuji) kah? aku coba hub dia tidak bisa, udah off dari bulan mei, bingung gada kabar, aku ada keperluan sesuatu soalnya sama kak hiru, huhuuuu :)
(1 balasan) 👋
#1
❤️
Wernayasa
,
Min, kenapa gak buat akun YouTube lagi?
(1 balasan) 👋
#1
❤️
Wernayasa
,
Mungkin dia sibuk.
Bakal di hapus lagi.
Itu aturan youtube, kalau sudah kena ban, maka selamanya gk bisa bikin akun channel youtube.
Itu aturan youtube, kalau sudah kena ban, maka selamanya gk bisa bikin akun channel youtube.
cara supaya judul postingan ada di samping thumbnail gimana caranya?
[Demo]
[Demo]
Bukannya pakai tag img dulu baru tag span?
<img src="" /><span>Judul</span>
Coba aja dulu
<img src="" /><span>Judul</span>
Coba aja dulu
Sudah bisa?
(1 balasan) 👋
#1
Tim-Tam
,
sudah bisa, ternyata asik juga mainin b:include fokus ke homepage dulu.
oh iya saya coba copy code
<b:includable id='postTitle' var='post'>
<b:if cond='data:post.title != ""'>
<b:tag class='post-title entry-title' cond='data:view.isMultipleItems' name='h3'>
<b:tag class='post-title entry-title' cond='data:view.isPost' name='h1'>
<b:if cond='data:post.link or (data:post.url and data:view.url != data:post.url)'>
<b:include name='flag'/><a expr:href='data:post.link ?: data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</b:tag>
</b:tag>
</b:if>
</b:includable>
yang ada di doujinread.
ternyata pas saya pake di tema sendiri postingan di homepage malah hilang. kenapa ya? apakah memang harus di setting juga b:include yang lain?
oh iya saya coba copy code
<b:includable id='postTitle' var='post'>
<b:if cond='data:post.title != ""'>
<b:tag class='post-title entry-title' cond='data:view.isMultipleItems' name='h3'>
<b:tag class='post-title entry-title' cond='data:view.isPost' name='h1'>
<b:if cond='data:post.link or (data:post.url and data:view.url != data:post.url)'>
<b:include name='flag'/><a expr:href='data:post.link ?: data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</b:tag>
</b:tag>
</b:if>
</b:includable>
yang ada di doujinread.
ternyata pas saya pake di tema sendiri postingan di homepage malah hilang. kenapa ya? apakah memang harus di setting juga b:include yang lain?
(1 balasan) 👋
#1
❤️
Wernayasa
,
Tambahkan data='post' <b:include data='post' name='postTitle'/>
Atau kurang var='post' pada
b:includable
Atau kurang var='post' pada
b:includable
(1 balasan) 👋
#1
Tim-Tam
,
udah mulai kebentuk.
buat ngatasin postingan bengkak akhirnya pake solusi json.
ngambil postingan dari blog ke 2 dan ternyata bisa fleksibel.
jadi tiap postingan novel punya postingan tunggal tidak perlu mikirin postingan chapter.
kalo ada yang tertarik sama jsnya nanti saya kasih reponya.
[Demo]
buat ngatasin postingan bengkak akhirnya pake solusi json.
ngambil postingan dari blog ke 2 dan ternyata bisa fleksibel.
jadi tiap postingan novel punya postingan tunggal tidak perlu mikirin postingan chapter.
kalo ada yang tertarik sama jsnya nanti saya kasih reponya.
[Demo]
(1 balasan) 👋
#1
❤️
Wernayasa
,
Iya, bagus.
Tinggal buat dashboard untuk mengelola chapter dan volume.
Tinggal buat dashboard untuk mengelola chapter dan volume.
(1 balasan) 👋
#1
Tim-Tam
,
versi 1 udah jadi.
paling nanti di tambahin lagi kalo ada update.
[Demo]
coba cek bang apakah data yang di panggil lemot atau tidak, kalo di saya gak ada lemot.
mau di hp atau pc.
paling nanti di tambahin lagi kalo ada update.
[Demo]
coba cek bang apakah data yang di panggil lemot atau tidak, kalo di saya gak ada lemot.
mau di hp atau pc.
(1 balasan) 👋
#1
❤️
Wernayasa
,
baru kali ini selesai dari sekian banyak proyekmu.
Engk lemot, sekita 3 detik di pc.
Engk lemot, sekita 3 detik di pc.