@heripo/research-radar 1.2.5 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +42 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +42 -48
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -799,12 +799,11 @@ const parseNrichNoticeList = (html) => {
|
|
|
799
799
|
const $ = cheerio__namespace.load(html);
|
|
800
800
|
const posts = [];
|
|
801
801
|
const baseUrl = 'https://www.nrich.go.kr';
|
|
802
|
-
$('
|
|
803
|
-
|
|
804
|
-
if (columns.length === 0) {
|
|
802
|
+
$('ul.list-body li').each((index, element) => {
|
|
803
|
+
if ($(element).hasClass('bg-notice')) {
|
|
805
804
|
return;
|
|
806
805
|
}
|
|
807
|
-
const titleElement =
|
|
806
|
+
const titleElement = $(element).find('.col2 a.cont-link');
|
|
808
807
|
const relativeHref = titleElement.attr('href');
|
|
809
808
|
if (!relativeHref) {
|
|
810
809
|
return;
|
|
@@ -812,33 +811,38 @@ const parseNrichNoticeList = (html) => {
|
|
|
812
811
|
const fullUrl = new URL(`/kor/${relativeHref}`, baseUrl);
|
|
813
812
|
const detailUrl = fullUrl.href;
|
|
814
813
|
const uniqId = fullUrl.searchParams.get('bbs_idx') ?? undefined;
|
|
815
|
-
const title = titleElement.
|
|
816
|
-
const date = getDate(
|
|
817
|
-
posts.
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
814
|
+
const title = titleElement.text()?.trim() ?? '';
|
|
815
|
+
const date = getDate($(element).find('.col5 .cont-txt').text().trim());
|
|
816
|
+
if (posts.length < 10) {
|
|
817
|
+
posts.push({
|
|
818
|
+
uniqId,
|
|
819
|
+
title,
|
|
820
|
+
date,
|
|
821
|
+
detailUrl: cleanUrl(detailUrl),
|
|
822
|
+
dateType: core.DateType.REGISTERED,
|
|
823
|
+
});
|
|
824
|
+
}
|
|
824
825
|
});
|
|
825
826
|
return posts;
|
|
826
827
|
};
|
|
827
828
|
const parseNrichMajorEventList = (html) => {
|
|
828
829
|
const $ = cheerio__namespace.load(html);
|
|
829
830
|
const posts = [];
|
|
830
|
-
$('ul.
|
|
831
|
-
const
|
|
831
|
+
$('ul.list-body li').each((index, element) => {
|
|
832
|
+
const linkElement = $(element).find('a[onclick]').first();
|
|
833
|
+
const uniqId = getUniqIdFromNrichMajorEvent(linkElement);
|
|
832
834
|
const detailUrl = `https://www.nrich.go.kr/kor/majorView.do?menuIdx=286&bbs_idx=${uniqId}`;
|
|
833
|
-
const title = $(element)
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
.
|
|
837
|
-
.
|
|
838
|
-
.
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
835
|
+
const title = $(element).find('.info-tit strong.tit').text().trim();
|
|
836
|
+
let dateText = '';
|
|
837
|
+
$(element)
|
|
838
|
+
.find('.info-detail .detail-box')
|
|
839
|
+
.each((i, box) => {
|
|
840
|
+
const boxTitle = $(box).find('span.tit').text().trim();
|
|
841
|
+
if (boxTitle === '행사기간') {
|
|
842
|
+
dateText = $(box).find('span.cont').text().trim();
|
|
843
|
+
}
|
|
844
|
+
});
|
|
845
|
+
const dateSplit = getDate(dateText).split(' ~ ');
|
|
842
846
|
const startDate = dateSplit[0];
|
|
843
847
|
const endDate = dateSplit[1];
|
|
844
848
|
const hasEndDate = startDate !== endDate;
|
|
@@ -858,21 +862,17 @@ const parseNrichJournalList = (html) => {
|
|
|
858
862
|
const $ = cheerio__namespace.load(html);
|
|
859
863
|
const posts = [];
|
|
860
864
|
const baseUrl = 'https://www.nrich.go.kr';
|
|
861
|
-
$('
|
|
862
|
-
const
|
|
863
|
-
if (columns.length === 0) {
|
|
864
|
-
return;
|
|
865
|
-
}
|
|
866
|
-
const titleElement = columns.eq(1).find('a');
|
|
865
|
+
$('ul.list-body li').each((index, element) => {
|
|
866
|
+
const titleElement = $(element).find('.col2 a.cont-link');
|
|
867
867
|
const relativeHref = titleElement.attr('href');
|
|
868
868
|
if (!relativeHref) {
|
|
869
869
|
return;
|
|
870
870
|
}
|
|
871
871
|
const fullUrl = new URL(`${relativeHref}`, baseUrl);
|
|
872
872
|
const detailUrl = fullUrl.href;
|
|
873
|
-
const uniqId = fullUrl.searchParams.get('
|
|
874
|
-
const title = titleElement.
|
|
875
|
-
const date = getDate(
|
|
873
|
+
const uniqId = fullUrl.searchParams.get('idx') ?? undefined;
|
|
874
|
+
const title = titleElement.text()?.trim() ?? '';
|
|
875
|
+
const date = getDate($(element).find('.col3 .cont-txt').text().trim());
|
|
876
876
|
posts.push({
|
|
877
877
|
uniqId,
|
|
878
878
|
title,
|
|
@@ -914,18 +914,16 @@ const parseNrichPortalList = (html) => {
|
|
|
914
914
|
};
|
|
915
915
|
const parseNrichNoticeDetail = (html) => {
|
|
916
916
|
const $ = cheerio__namespace.load(html);
|
|
917
|
-
const
|
|
918
|
-
const content = trList.eq(3).find('td');
|
|
917
|
+
const content = $('.view-content .info-txt');
|
|
919
918
|
return {
|
|
920
919
|
detailContent: new TurndownService().turndown(content.html() ?? ''),
|
|
921
|
-
hasAttachedFile:
|
|
920
|
+
hasAttachedFile: $('.board-file').length > 0,
|
|
922
921
|
hasAttachedImage: content.find('img').length > 0,
|
|
923
922
|
};
|
|
924
923
|
};
|
|
925
924
|
const parseNrichMajorEventDetail = (html) => {
|
|
926
925
|
const $ = cheerio__namespace.load(html);
|
|
927
|
-
const
|
|
928
|
-
const content = trList.eq(4).find('td');
|
|
926
|
+
const content = $('.view-content');
|
|
929
927
|
return {
|
|
930
928
|
detailContent: new TurndownService().turndown(content.html() ?? ''),
|
|
931
929
|
hasAttachedFile: false,
|
|
@@ -936,16 +934,12 @@ const parseNrichJournalDetail = (html) => {
|
|
|
936
934
|
const $ = cheerio__namespace.load(html);
|
|
937
935
|
$('script, style').remove();
|
|
938
936
|
const articles = [];
|
|
939
|
-
//
|
|
940
|
-
$('
|
|
941
|
-
const
|
|
942
|
-
|
|
943
|
-
return;
|
|
944
|
-
}
|
|
945
|
-
const number = columns.eq(0).text().trim();
|
|
946
|
-
const titleElement = columns.eq(1).find('a');
|
|
937
|
+
// 리스트의 각 항목을 순회하면서 논문 정보 추출
|
|
938
|
+
$('ul.list-body li').each((index, element) => {
|
|
939
|
+
const number = $(element).find('.col1 .cont-txt').text().trim();
|
|
940
|
+
const titleElement = $(element).find('.col2 a.cont-link');
|
|
947
941
|
const title = titleElement.text().trim();
|
|
948
|
-
const author =
|
|
942
|
+
const author = $(element).find('.col3 .cont-txt').text().trim();
|
|
949
943
|
if (title && author) {
|
|
950
944
|
articles.push(`${number}. **${title}**\n 저자: ${author}`);
|
|
951
945
|
}
|
|
@@ -2183,7 +2177,7 @@ const createNewsletterHtmlTemplate = (targets) => `<!DOCTYPE html>
|
|
|
2183
2177
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #444444; margin: 0 0 18px 0;">heripo는 고고학 연구 환경의 실질적인 디지털 전환을 지향하는 연구 플랫폼입니다.</p>
|
|
2184
2178
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #444444; margin: 0 0 18px 0;">발굴조사보고서(PDF) 속에 갇힌 텍스트와 도면을 분석 가능한 구조화된 데이터로 전환하여, 연구자가 자료를 보다 체계적으로 탐색하고 재사용할 수 있는 인프라를 구축하고 있습니다.</p>
|
|
2185
2179
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7;
|
|
2186
|
-
color: #444444; margin: 0 0 18px 0;">현재는 소프트웨어 엔지니어와 고고학 연구자가 함께하는 <strong><a href="https://github.com/heripo-lab" target="_blank">heripo lab</a></strong>으로 운영 중이며, 2026년 1월 28일 핵심 엔진을 <strong><a href="https://github.com/
|
|
2180
|
+
color: #444444; margin: 0 0 18px 0;">현재는 소프트웨어 엔지니어와 고고학 연구자가 함께하는 <strong><a href="https://github.com/heripo-lab" target="_blank">heripo lab</a></strong>으로 운영 중이며, 2026년 1월 28일 핵심 엔진을 <strong><a href="https://github.com/heripo-lab/heripo-engine" target="_blank">오픈소스로 공개</a></strong>했습니다.</p>
|
|
2187
2181
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #444444; margin: 0 0 18px 0;">오픈소스로 공개된 핵심 기능은 <strong><a href="https://engine-demo.heripo.com" target="_blank">데모 사이트</a></strong>에서 직접 체험해 보실 수 있으며, 플랫폼 프로토타입 출시 시 구독자분들께 우선 안내해 드리겠습니다.</p>
|
|
2188
2182
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7;
|
|
2189
2183
|
color: #444444; margin: 0 0 18px 0;">보고 계신 뉴스레터(리서치 레이더)는 heripo의 초기 선행 기능 중 하나입니다. 뉴스레터 소스 추가 요청은 <a href="https://github.com/heripo-lab/heripo-research-radar/issues" target="_blank">GitHub 이슈</a>를 통해 언제든 환영합니다.</p>
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -778,12 +778,11 @@ const parseNrichNoticeList = (html) => {
|
|
|
778
778
|
const $ = cheerio.load(html);
|
|
779
779
|
const posts = [];
|
|
780
780
|
const baseUrl = 'https://www.nrich.go.kr';
|
|
781
|
-
$('
|
|
782
|
-
|
|
783
|
-
if (columns.length === 0) {
|
|
781
|
+
$('ul.list-body li').each((index, element) => {
|
|
782
|
+
if ($(element).hasClass('bg-notice')) {
|
|
784
783
|
return;
|
|
785
784
|
}
|
|
786
|
-
const titleElement =
|
|
785
|
+
const titleElement = $(element).find('.col2 a.cont-link');
|
|
787
786
|
const relativeHref = titleElement.attr('href');
|
|
788
787
|
if (!relativeHref) {
|
|
789
788
|
return;
|
|
@@ -791,33 +790,38 @@ const parseNrichNoticeList = (html) => {
|
|
|
791
790
|
const fullUrl = new URL(`/kor/${relativeHref}`, baseUrl);
|
|
792
791
|
const detailUrl = fullUrl.href;
|
|
793
792
|
const uniqId = fullUrl.searchParams.get('bbs_idx') ?? undefined;
|
|
794
|
-
const title = titleElement.
|
|
795
|
-
const date = getDate(
|
|
796
|
-
posts.
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
793
|
+
const title = titleElement.text()?.trim() ?? '';
|
|
794
|
+
const date = getDate($(element).find('.col5 .cont-txt').text().trim());
|
|
795
|
+
if (posts.length < 10) {
|
|
796
|
+
posts.push({
|
|
797
|
+
uniqId,
|
|
798
|
+
title,
|
|
799
|
+
date,
|
|
800
|
+
detailUrl: cleanUrl(detailUrl),
|
|
801
|
+
dateType: DateType.REGISTERED,
|
|
802
|
+
});
|
|
803
|
+
}
|
|
803
804
|
});
|
|
804
805
|
return posts;
|
|
805
806
|
};
|
|
806
807
|
const parseNrichMajorEventList = (html) => {
|
|
807
808
|
const $ = cheerio.load(html);
|
|
808
809
|
const posts = [];
|
|
809
|
-
$('ul.
|
|
810
|
-
const
|
|
810
|
+
$('ul.list-body li').each((index, element) => {
|
|
811
|
+
const linkElement = $(element).find('a[onclick]').first();
|
|
812
|
+
const uniqId = getUniqIdFromNrichMajorEvent(linkElement);
|
|
811
813
|
const detailUrl = `https://www.nrich.go.kr/kor/majorView.do?menuIdx=286&bbs_idx=${uniqId}`;
|
|
812
|
-
const title = $(element)
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
.
|
|
816
|
-
.
|
|
817
|
-
.
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
814
|
+
const title = $(element).find('.info-tit strong.tit').text().trim();
|
|
815
|
+
let dateText = '';
|
|
816
|
+
$(element)
|
|
817
|
+
.find('.info-detail .detail-box')
|
|
818
|
+
.each((i, box) => {
|
|
819
|
+
const boxTitle = $(box).find('span.tit').text().trim();
|
|
820
|
+
if (boxTitle === '행사기간') {
|
|
821
|
+
dateText = $(box).find('span.cont').text().trim();
|
|
822
|
+
}
|
|
823
|
+
});
|
|
824
|
+
const dateSplit = getDate(dateText).split(' ~ ');
|
|
821
825
|
const startDate = dateSplit[0];
|
|
822
826
|
const endDate = dateSplit[1];
|
|
823
827
|
const hasEndDate = startDate !== endDate;
|
|
@@ -837,21 +841,17 @@ const parseNrichJournalList = (html) => {
|
|
|
837
841
|
const $ = cheerio.load(html);
|
|
838
842
|
const posts = [];
|
|
839
843
|
const baseUrl = 'https://www.nrich.go.kr';
|
|
840
|
-
$('
|
|
841
|
-
const
|
|
842
|
-
if (columns.length === 0) {
|
|
843
|
-
return;
|
|
844
|
-
}
|
|
845
|
-
const titleElement = columns.eq(1).find('a');
|
|
844
|
+
$('ul.list-body li').each((index, element) => {
|
|
845
|
+
const titleElement = $(element).find('.col2 a.cont-link');
|
|
846
846
|
const relativeHref = titleElement.attr('href');
|
|
847
847
|
if (!relativeHref) {
|
|
848
848
|
return;
|
|
849
849
|
}
|
|
850
850
|
const fullUrl = new URL(`${relativeHref}`, baseUrl);
|
|
851
851
|
const detailUrl = fullUrl.href;
|
|
852
|
-
const uniqId = fullUrl.searchParams.get('
|
|
853
|
-
const title = titleElement.
|
|
854
|
-
const date = getDate(
|
|
852
|
+
const uniqId = fullUrl.searchParams.get('idx') ?? undefined;
|
|
853
|
+
const title = titleElement.text()?.trim() ?? '';
|
|
854
|
+
const date = getDate($(element).find('.col3 .cont-txt').text().trim());
|
|
855
855
|
posts.push({
|
|
856
856
|
uniqId,
|
|
857
857
|
title,
|
|
@@ -893,18 +893,16 @@ const parseNrichPortalList = (html) => {
|
|
|
893
893
|
};
|
|
894
894
|
const parseNrichNoticeDetail = (html) => {
|
|
895
895
|
const $ = cheerio.load(html);
|
|
896
|
-
const
|
|
897
|
-
const content = trList.eq(3).find('td');
|
|
896
|
+
const content = $('.view-content .info-txt');
|
|
898
897
|
return {
|
|
899
898
|
detailContent: new TurndownService().turndown(content.html() ?? ''),
|
|
900
|
-
hasAttachedFile:
|
|
899
|
+
hasAttachedFile: $('.board-file').length > 0,
|
|
901
900
|
hasAttachedImage: content.find('img').length > 0,
|
|
902
901
|
};
|
|
903
902
|
};
|
|
904
903
|
const parseNrichMajorEventDetail = (html) => {
|
|
905
904
|
const $ = cheerio.load(html);
|
|
906
|
-
const
|
|
907
|
-
const content = trList.eq(4).find('td');
|
|
905
|
+
const content = $('.view-content');
|
|
908
906
|
return {
|
|
909
907
|
detailContent: new TurndownService().turndown(content.html() ?? ''),
|
|
910
908
|
hasAttachedFile: false,
|
|
@@ -915,16 +913,12 @@ const parseNrichJournalDetail = (html) => {
|
|
|
915
913
|
const $ = cheerio.load(html);
|
|
916
914
|
$('script, style').remove();
|
|
917
915
|
const articles = [];
|
|
918
|
-
//
|
|
919
|
-
$('
|
|
920
|
-
const
|
|
921
|
-
|
|
922
|
-
return;
|
|
923
|
-
}
|
|
924
|
-
const number = columns.eq(0).text().trim();
|
|
925
|
-
const titleElement = columns.eq(1).find('a');
|
|
916
|
+
// 리스트의 각 항목을 순회하면서 논문 정보 추출
|
|
917
|
+
$('ul.list-body li').each((index, element) => {
|
|
918
|
+
const number = $(element).find('.col1 .cont-txt').text().trim();
|
|
919
|
+
const titleElement = $(element).find('.col2 a.cont-link');
|
|
926
920
|
const title = titleElement.text().trim();
|
|
927
|
-
const author =
|
|
921
|
+
const author = $(element).find('.col3 .cont-txt').text().trim();
|
|
928
922
|
if (title && author) {
|
|
929
923
|
articles.push(`${number}. **${title}**\n 저자: ${author}`);
|
|
930
924
|
}
|
|
@@ -2162,7 +2156,7 @@ const createNewsletterHtmlTemplate = (targets) => `<!DOCTYPE html>
|
|
|
2162
2156
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #444444; margin: 0 0 18px 0;">heripo는 고고학 연구 환경의 실질적인 디지털 전환을 지향하는 연구 플랫폼입니다.</p>
|
|
2163
2157
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #444444; margin: 0 0 18px 0;">발굴조사보고서(PDF) 속에 갇힌 텍스트와 도면을 분석 가능한 구조화된 데이터로 전환하여, 연구자가 자료를 보다 체계적으로 탐색하고 재사용할 수 있는 인프라를 구축하고 있습니다.</p>
|
|
2164
2158
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7;
|
|
2165
|
-
color: #444444; margin: 0 0 18px 0;">현재는 소프트웨어 엔지니어와 고고학 연구자가 함께하는 <strong><a href="https://github.com/heripo-lab" target="_blank">heripo lab</a></strong>으로 운영 중이며, 2026년 1월 28일 핵심 엔진을 <strong><a href="https://github.com/
|
|
2159
|
+
color: #444444; margin: 0 0 18px 0;">현재는 소프트웨어 엔지니어와 고고학 연구자가 함께하는 <strong><a href="https://github.com/heripo-lab" target="_blank">heripo lab</a></strong>으로 운영 중이며, 2026년 1월 28일 핵심 엔진을 <strong><a href="https://github.com/heripo-lab/heripo-engine" target="_blank">오픈소스로 공개</a></strong>했습니다.</p>
|
|
2166
2160
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #444444; margin: 0 0 18px 0;">오픈소스로 공개된 핵심 기능은 <strong><a href="https://engine-demo.heripo.com" target="_blank">데모 사이트</a></strong>에서 직접 체험해 보실 수 있으며, 플랫폼 프로토타입 출시 시 구독자분들께 우선 안내해 드리겠습니다.</p>
|
|
2167
2161
|
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7;
|
|
2168
2162
|
color: #444444; margin: 0 0 18px 0;">보고 계신 뉴스레터(리서치 레이더)는 heripo의 초기 선행 기능 중 하나입니다. 뉴스레터 소스 추가 요청은 <a href="https://github.com/heripo-lab/heripo-research-radar/issues" target="_blank">GitHub 이슈</a>를 통해 언제든 환영합니다.</p>
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@heripo/research-radar",
|
|
3
3
|
"private": false,
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "1.2.
|
|
5
|
+
"version": "1.2.7",
|
|
6
6
|
"description": "AI-driven intelligence for Korean cultural heritage. This package serves as both a ready-to-use newsletter service and a practical implementation example for the LLM-Newsletter-Kit.",
|
|
7
7
|
"main": "dist/index.cjs",
|
|
8
8
|
"module": "dist/index.js",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"author": "kimhongyeon",
|
|
43
43
|
"license": "Apache-2.0",
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@ai-sdk/openai": "^3.0.
|
|
45
|
+
"@ai-sdk/openai": "^3.0.25",
|
|
46
46
|
"cheerio": "^1.2.0",
|
|
47
47
|
"turndown": "^7.2.2"
|
|
48
48
|
},
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@eslint/js": "^9.39.2",
|
|
54
|
-
"@llm-newsletter-kit/core": "^1.1.
|
|
54
|
+
"@llm-newsletter-kit/core": "^1.1.5",
|
|
55
55
|
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
|
|
56
56
|
"@types/express": "^5.0.6",
|
|
57
|
-
"@types/node": "^25.
|
|
57
|
+
"@types/node": "^25.2.0",
|
|
58
58
|
"@types/turndown": "^5.0.6",
|
|
59
59
|
"eslint": "^9.39.2",
|
|
60
60
|
"eslint-plugin-unused-imports": "^4.3.0",
|