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);
 | 
					    const rootNote = shaca.getNote(shareRoot.SHARE_ROOT_NOTE_ID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (const childNote of rootNote.getChildNotes()) {
 | 
					    for (const childNote of rootNote.getChildNotes()) {
 | 
				
			||||||
        const href = childNote.getLabelValue("shareExternal") ?? `./${childNote.shareId}`;
 | 
					        const isExternalLink = childNote.hasLabel("shareExternalLink");
 | 
				
			||||||
        result.content += `<li><a class="${childNote.type}" href="${href}">${childNote.escapedTitle}</a></li>`;
 | 
					        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>';
 | 
					    result.content += '</ul>';
 | 
				
			||||||
@ -85,8 +87,13 @@ function renderText(result, note) {
 | 
				
			|||||||
                const noteId = notePathSegments[notePathSegments.length - 1];
 | 
					                const noteId = notePathSegments[notePathSegments.length - 1];
 | 
				
			||||||
                const linkedNote = shaca.getNote(noteId);
 | 
					                const linkedNote = shaca.getNote(noteId);
 | 
				
			||||||
                if (linkedNote) {
 | 
					                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);
 | 
					                    linkEl.setAttribute("href", href);
 | 
				
			||||||
 | 
					                    if (isExternalLink) {
 | 
				
			||||||
 | 
					                        linkEl.setAttribute("target", "_blank");
 | 
				
			||||||
 | 
					                        linkEl.setAttribute("rel", "noopener noreferrer");
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                    linkEl.classList.add(`type-${linkedNote.type}`);
 | 
					                    linkEl.classList.add(`type-${linkedNote.type}`);
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    linkEl.removeAttribute("href");
 | 
					                    linkEl.removeAttribute("href");
 | 
				
			||||||
 | 
				
			|||||||
@ -32,7 +32,7 @@
 | 
				
			|||||||
    <%- header %>
 | 
					    <%- header %>
 | 
				
			||||||
    <title><%= note.title %></title>
 | 
					    <title><%= note.title %></title>
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
<body data-note-id="<%= note.noteId %>">
 | 
					<body data-note-id="<%= note.noteId %>" data-wtf="true">
 | 
				
			||||||
<div id="layout">
 | 
					<div id="layout">
 | 
				
			||||||
    <div id="main">
 | 
					    <div id="main">
 | 
				
			||||||
        <% if (note.parents[0].noteId !== '_share' && note.parents.length !== 0) { %>
 | 
					        <% if (note.parents[0].noteId !== '_share' && note.parents.length !== 0) { %>
 | 
				
			||||||
@ -62,9 +62,14 @@
 | 
				
			|||||||
                <% } %>
 | 
					                <% } %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <ul>
 | 
					                <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>
 | 
					                        <li>
 | 
				
			||||||
                            <a href="<%= childNote.shareId %>"
 | 
					                            <a href="<%= linkHref %>" <%= target %>
 | 
				
			||||||
                               class="type-<%= childNote.type %>"><%= childNote.title %></a>
 | 
					                               class="type-<%= childNote.type %>"><%= childNote.title %></a>
 | 
				
			||||||
                        </li>
 | 
					                        </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>
 | 
					<p>
 | 
				
			||||||
    <% const titleWithPrefix = (branch.prefix ? `${branch.prefix} - ` : '') + note.title; %>
 | 
					    <% const titleWithPrefix = (branch.prefix ? `${branch.prefix} - ` : '') + note.title; %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <% if (activeNote.noteId === note.noteId) { %>
 | 
					    <% if (activeNote.noteId === note.noteId) { %>
 | 
				
			||||||
    <strong><%= titleWithPrefix %></strong>
 | 
					    <strong><%= titleWithPrefix %></strong>
 | 
				
			||||||
    <% } else { %>
 | 
					    <% } else { %>
 | 
				
			||||||
    <a class="type-<%= note.type %>" href="./<%= note.shareId %>"><%= titleWithPrefix %></a>
 | 
					    <a class="type-<%= note.type %>" href="<%= linkHref %>"<%= target %>><%= titleWithPrefix %></a>
 | 
				
			||||||
    <% } %>
 | 
					    <% } %>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user