1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-18 08:16:07 +00:00

Merge pull request #3681 from haiwen/wiki-image

relative image path
This commit is contained in:
Daniel Pan
2019-06-20 18:46:14 +08:00
committed by GitHub
3 changed files with 27 additions and 7 deletions

View File

@@ -127,21 +127,25 @@ class WikiMarkdownViewer extends React.Component {
changeInlineNode = (item) => {
if (item.object == 'inline') {
let url;
let url, imagePath;
// change image url
if (item.type == 'image' && isPublicWiki) {
url = item.data.src;
const re = new RegExp(serviceURL + '/lib/' + repoID +'/file.*raw=1');
// different repo
if (!re.test(url)) {
if (re.test(url)) {
// get image path
let index = url.indexOf('/file');
let index2 = url.indexOf('?');
imagePath = url.substring(index + 5, index2);
} else if (/^\.\.\/*/.test(url) || /^\.\/*/.test(url)) {
const path = this.props.path;
const originalPath = path.slice(0, path.lastIndexOf('/')) + '/' + url;
imagePath = Utils.pathNormalize(originalPath);
} else {
return;
}
// get image path
let index = url.indexOf('/file');
let index2 = url.indexOf('?');
const imagePath = url.substring(index + 5, index2);
// replace url
item.data.src = serviceURL + '/view-image-via-public-wiki/?slug=' + slug + '&path=' + imagePath;
}

View File

@@ -116,6 +116,7 @@ class MainPanel extends Component {
latestContributor={this.props.latestContributor}
onLinkClick={this.props.onLinkClick}
isWiki={true}
path={this.props.path}
/>
)}
{(!this.props.isDataLoading && !this.props.isViewFile) && (

View File

@@ -880,6 +880,21 @@ export const Utils = {
return password;
},
pathNormalize: function(originalPath) {
let oldPath = originalPath.split('/');
let newPath = [];
for (let i = 0; i < oldPath.length; i++) {
if (oldPath[i] === '.' || oldPath[i] === '') {
continue;
} else if (oldPath[i] === '..') {
newPath.pop();
} else {
newPath.push(oldPath[i]);
}
}
return newPath.join('/');
},
getEventData: function(event, data) {
if (event.target.dataset) {
return event.target.dataset[data];