mirror of
https://github.com/next-theme/hexo-theme-next.git
synced 2026-01-18 18:33:42 +00:00
Add hyperlink support to group-pictures (#143)
This commit is contained in:
parent
4581626dc3
commit
54b4b4cc56
@ -126,7 +126,7 @@ module.exports = ctx => function(args, content) {
|
||||
|
||||
content = ctx.render.renderSync({ text: content, engine: 'markdown' });
|
||||
|
||||
const pictures = content.match(/<img[\s\S]*?>/g);
|
||||
const pictures = content.match(/(<a[^>]*>((?!<\/a)(.|\n))+<\/a>)|(<img[^>]+>)/g);
|
||||
|
||||
return `<div class="group-picture">${templates.dispatch(pictures, group, layout)}</div>`;
|
||||
};
|
||||
|
||||
@ -4,6 +4,9 @@ require('chai').should();
|
||||
const Hexo = require('hexo');
|
||||
const hexo = new Hexo();
|
||||
|
||||
const link = '<div class="group-picture-column"><a href="https://theme-next.js.org/"><img src="/images/sample.png"></a></div>';
|
||||
const image = '<div class="group-picture-column"><img src="/images/sample.png"></div>';
|
||||
|
||||
describe('group-pictures', () => {
|
||||
const groupPicture = require('../../scripts/tags/group-pictures')(hexo);
|
||||
|
||||
@ -13,7 +16,7 @@ describe('group-pictures', () => {
|
||||
groupPicture(['3-1'], `
|
||||

|
||||

|
||||
`).should.eql('<div class="group-picture"><div class="group-picture-row"><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div></div></div>');
|
||||
`).should.eql(`<div class="group-picture"><div class="group-picture-row">${image}${image}${image}</div></div>`);
|
||||
});
|
||||
|
||||
it('layout 5-2', () => {
|
||||
@ -22,7 +25,7 @@ describe('group-pictures', () => {
|
||||

|
||||

|
||||

|
||||
`).should.eql('<div class="group-picture"><div class="group-picture-row"><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div></div><div class="group-picture-row"><div class="group-picture-column"><img src="/images/sample.png"></div></div><div class="group-picture-row"><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div></div></div>');
|
||||
`).should.eql(`<div class="group-picture"><div class="group-picture-row">${image}${image}</div><div class="group-picture-row">${image}</div><div class="group-picture-row">${image}${image}</div></div>`);
|
||||
});
|
||||
|
||||
it('remove text', () => {
|
||||
@ -31,7 +34,22 @@ describe('group-pictures', () => {
|
||||
Text
|
||||

|
||||
Text
|
||||
`).should.eql('<div class="group-picture"><div class="group-picture-row"><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div></div></div>');
|
||||
`).should.eql(`<div class="group-picture"><div class="group-picture-row">${image}${image}${image}</div></div>`);
|
||||
});
|
||||
|
||||
it('set hyperlinks', () => {
|
||||
groupPicture(['4-3'], `
|
||||

|
||||
[](https://theme-next.js.org/)
|
||||
[](https://theme-next.js.org/)
|
||||
`).should.eql(`<div class="group-picture"><div class="group-picture-row">${image}${link}</div><div class="group-picture-row">${link}${image}</div></div>`);
|
||||
});
|
||||
|
||||
it('set hyperlinks 2', () => {
|
||||
groupPicture(['3-1'], `
|
||||

|
||||
[](https://theme-next.js.org/)
|
||||
`).should.eql(`<div class="group-picture"><div class="group-picture-row">${image}${link}${image}</div></div>`);
|
||||
});
|
||||
|
||||
it('no layout', () => {
|
||||
@ -40,6 +58,6 @@ Text
|
||||

|
||||

|
||||

|
||||
`).should.eql('<div class="group-picture"><div class="group-picture-row"><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div></div><div class="group-picture-row"><div class="group-picture-column"><img src="/images/sample.png"></div><div class="group-picture-column"><img src="/images/sample.png"></div></div></div>');
|
||||
`).should.eql(`<div class="group-picture"><div class="group-picture-row">${image}${image}${image}</div><div class="group-picture-row">${image}${image}</div></div>`);
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user