mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 13:39:01 +01:00 
			
		
		
		
	Allow external link notes in share tree
This commit is contained in:
		
							parent
							
								
									614cc4dd82
								
							
						
					
					
						commit
						7729aad1e9
					
				@ -44,8 +44,10 @@ function renderIndex(result) {
 | 
			
		||||
    const rootNote = shaca.getNote(shareRoot.SHARE_ROOT_NOTE_ID);
 | 
			
		||||
 | 
			
		||||
    for (const childNote of rootNote.getChildNotes()) {
 | 
			
		||||
        const href = childNote.getLabelValue("shareExternal") ?? `./${childNote.shareId}`;
 | 
			
		||||
        result.content += `<li><a class="${childNote.type}" href="${href}">${childNote.escapedTitle}</a></li>`;
 | 
			
		||||
        const isExternalLink = childNote.hasLabel("shareExternalLink");
 | 
			
		||||
        const href = isExternalLink ? childNote.getLabelValue("shareExternalLink") : `./${childNote.shareId}`;
 | 
			
		||||
        const target = isExternalLink ? `target="_blank" rel="noopener noreferrer"` : "";
 | 
			
		||||
        result.content += `<li><a class="${childNote.type}" href="${href}" ${target}>${childNote.escapedTitle}</a></li>`;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    result.content += '</ul>';
 | 
			
		||||
@ -85,8 +87,13 @@ function renderText(result, note) {
 | 
			
		||||
                const noteId = notePathSegments[notePathSegments.length - 1];
 | 
			
		||||
                const linkedNote = shaca.getNote(noteId);
 | 
			
		||||
                if (linkedNote) {
 | 
			
		||||
                    const href = linkedNote.getLabelValue("shareExternal") ?? `./${linkedNote.shareId}`;
 | 
			
		||||
                    const isExternalLink = linkedNote.hasLabel("shareExternalLink");
 | 
			
		||||
                    const href = isExternalLink ? linkedNote.getLabelValue("shareExternalLink") : `./${linkedNote.shareId}`;
 | 
			
		||||
                    linkEl.setAttribute("href", href);
 | 
			
		||||
                    if (isExternalLink) {
 | 
			
		||||
                        linkEl.setAttribute("target", "_blank");
 | 
			
		||||
                        linkEl.setAttribute("rel", "noopener noreferrer");
 | 
			
		||||
                    }
 | 
			
		||||
                    linkEl.classList.add(`type-${linkedNote.type}`);
 | 
			
		||||
                } else {
 | 
			
		||||
                    linkEl.removeAttribute("href");
 | 
			
		||||
 | 
			
		||||
@ -32,7 +32,7 @@
 | 
			
		||||
    <%- header %>
 | 
			
		||||
    <title><%= note.title %></title>
 | 
			
		||||
</head>
 | 
			
		||||
<body data-note-id="<%= note.noteId %>">
 | 
			
		||||
<body data-note-id="<%= note.noteId %>" data-wtf="true">
 | 
			
		||||
<div id="layout">
 | 
			
		||||
    <div id="main">
 | 
			
		||||
        <% if (note.parents[0].noteId !== '_share' && note.parents.length !== 0) { %>
 | 
			
		||||
@ -62,9 +62,14 @@
 | 
			
		||||
                <% } %>
 | 
			
		||||
 | 
			
		||||
                <ul>
 | 
			
		||||
                    <% for (const childNote of note.getVisibleChildNotes()) { %>
 | 
			
		||||
                    <%
 | 
			
		||||
                    for (const childNote of note.getVisibleChildNotes()) {
 | 
			
		||||
                        const isExternalLink = childNote.hasLabel('shareExternalLink');
 | 
			
		||||
                        const linkHref = isExternalLink ? childNote.getLabelValue('shareExternalLink') : `./${childNote.shareId}`;
 | 
			
		||||
                        const target = isExternalLink ? `target="_blank" rel="noopener noreferrer"` : '';
 | 
			
		||||
                    %>
 | 
			
		||||
                        <li>
 | 
			
		||||
                            <a href="<%= childNote.shareId %>"
 | 
			
		||||
                            <a href="<%= linkHref %>" <%= target %>
 | 
			
		||||
                               class="type-<%= childNote.type %>"><%= childNote.title %></a>
 | 
			
		||||
                        </li>
 | 
			
		||||
                    <% } %>
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,16 @@
 | 
			
		||||
<%
 | 
			
		||||
const isExternalLink = note.hasLabel('shareExternalLink');
 | 
			
		||||
const linkHref = isExternalLink ? note.getLabelValue('shareExternalLink') : `./${note.shareId}`;
 | 
			
		||||
const target = isExternalLink ? ` target="_blank" rel="noopener noreferrer"` : '';
 | 
			
		||||
console.log(note.shareId, note.title, isExternalLink, linkHref, target);
 | 
			
		||||
%>
 | 
			
		||||
<p>
 | 
			
		||||
    <% const titleWithPrefix = (branch.prefix ? `${branch.prefix} - ` : '') + note.title; %>
 | 
			
		||||
 | 
			
		||||
    <% if (activeNote.noteId === note.noteId) { %>
 | 
			
		||||
    <strong><%= titleWithPrefix %></strong>
 | 
			
		||||
    <% } else { %>
 | 
			
		||||
    <a class="type-<%= note.type %>" href="./<%= note.shareId %>"><%= titleWithPrefix %></a>
 | 
			
		||||
    <a class="type-<%= note.type %>" href="<%= linkHref %>"<%= target %>><%= titleWithPrefix %></a>
 | 
			
		||||
    <% } %>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user