Skip to content

Commit

Permalink
refs #1648 : added - canonical meta tag support
Browse files Browse the repository at this point in the history
  • Loading branch information
inureyes committed Feb 27, 2014
1 parent a08d38b commit a3439f3
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 28 deletions.
69 changes: 47 additions & 22 deletions documents/changelog_ko.txt
Original file line number Diff line number Diff line change
@@ -1,59 +1,84 @@
* 이 문서는 변경사항을 모두 포함하고 있지 않을 수 있습니다. 자세한 변경사항 열람을 위해서는 텍스트큐브 개발 사이트 (http://dev.textcube.org) 의 해당 버전의 로드맵과 티켓들을 확인해 주시기 바랍니다.
* 이 문서는 변경사항을 모두 포함하고 있지 않을 수 있습니다. 자세한 변경사항 열람을 위해서는 텍스트큐브 개발 사이트 (http://github.com/Needlworks/textcube (CURRENT), http://dev.textcube.org (OLD) ) 의 해당 버전의 로드맵과 티켓들을 확인해 주시기 바랍니다.
* 버그 로그는 일반적으로 이전 버전에서 발생했으나 해결된 부분을 포함하며, 이번 버전을 만드는 과정에서 발생하는 버그는 기록하지 않습니다.

== v1.9 개발 관련 노트 ==
=== 추가된 점 ===
* 관리패널 : 기본 관리 패널 UI 변경 (#1519)
* 관리패널 : 댓글 IP 차단시 같은 IP에서 작성된 댓글의 일괄 삭제 옵션 제공 (#1593)
* 관리패널 : Line 작성시 글자 수 제한을 체크하여 알려줌 (#1498)
* 에디터 : 기본 에디터를 tinyMCE 기반의 에디터로 변경 (#1586)
* 에디터 : 에디터 사용시 기본 에디터 폭을 스킨을 따를 것인지 전체 화면 폭을 모두 사용할 것인지 설정할 수 있도록 함
* 일반 : 거의 모든 출력 화면 (카테고리 / 저자별 포함) 에 대한 RSS / ATOM 피드 출력 지원 (# 1540)
* 일반 : 기본 CSS 폰트들을 운영체제에 맞게 재지정 (#1320)
* 일반 : SQLite3를 데이터 저장 backend로 지원 (알파) (#1575)
* 일반 : FAS (Frypan Anti-spam Service) 추가 (#1563)
* 일반 : 새 모바일 장치용 UI 도입 (#1604)
* 일반 : 스팸이 댓글/트랙백 테이블에 너무 오래 머물러 속도가 저하되는 것을 막기 위하여 휴지통 플러싱 주기 조정 옵션 추가 (#1633)
* 일반 : 일부 제한된 로컬 환경에서 IPv6으로 예약된 로컬 호스트 주소 매핑 지원 (#1573)
* 설치 : Security instruction at post-setup screen (#1629)
* 설치 : PHP 5.5 / MySQL 5.5 호환성 확장 (#1609, #1630)

* 블로그 : 블로그를 크롤링하는 검색엔진이 동일한 페이지를 중복 주소로 크롤링하지 않도록 canonical meta tag (rel=canonical) 자동 지원 (#1648)

=== 변경된 점 ===
* 관리패널 : canon 스킨 업데이트 (#1519)
* 일반 : autoload를 사용하는 플러그인이 NAF 프레임웍의 autoload와 충돌 가능한 문제 수정 (#1584)
* 일반 : OpenID 로그인 시의 안내 및 링크 수정 (#1637)
* RSS/ATOM : feed validation 을 위한 E-Mail 규격 추가 지원 (#1518)
* 일반 : PHP 5.4대응을 위한 framework 업그레이드
* 에디터 : 기본 modern editor를 tinyMCE 에디터로 이전 (#1586)

=== 버그 수정 ===
* 일반 : 대량의 스팸이 휴지통에 있는 경우 데이터 교정이 실행되다 멈추는 문제 수정 (#1581)
* 일반 : 리샘플링 설정이 변경되지 않는 문제 수정 (#1581)
* 일반 : MySQLi 사용시 디버그 모드가 동작하지 않던 문제 수정 (#1630)
* 일반 : escapeString 함수의 동작이 DBMS 접속 이후에 일어나 워닝을 내보내는 문제 수정 (#1627)
* 일반 : escapeString 함수의 동작이 DBMS close 이후에 일어나 워닝을 내보내는 문제 수정 (#1627)
* 일반 : 트랙백을 허용하지 않음 옵션이 작동하지 않는 문제 수정 (#1645)
* 일반 : 댓글을 허용하지 않을 때 댓글에 댓글 달기는 가능한 문제 수정 (#1645)
* 관리패널 : 전체 관리 모드에서 새 블로그 추가가 되지 않는 문제 수정 (#1582)
* 관리패널 : 블로그 서비스 관리에서 트랙백/핑백 정보를 제대로 읽어오지 못하는 문제 수정 (#1582)
* 관리패널 : 커버페이지 플러그인 추가 및 제거 기능이 동작하지 않는 문제 수정 (#1626)
* 에디터 : PHP 5.3 이후 버전에서 화면 로드시 에디터 콜에서 call-by-reference error (#1494)
* 에디터 : 에디터 실시간 변경시 제대로 동작하지 않는 문제 수정 (#1439)
* 모바일 : 일부 웹서버의 URL 인코딩 셋팅이 안드로이드 브라우저 접속시 공개 글을 보호글로 보이도록 하는 문제 수정 (#1581)
* 모바일 : 태그 및 보관 페이지에서 한 페이지 글 수보다 작은 글을 가진 페이지를 보여줄 때 빈 페이지가 나오는 문제 수정 (#1631)
* 설치 : 데이터베이스 쿼리 후 제대로된 버전을 알려주지 않는 문제 수정 (#1612)
* 스킨 : 배포판 standard 스킨에서 방명록 비밀글 체크 옵션이 누락된 문제 수정 (#1628)
* 모바일 : 태그 및 보관 페이지에서 한 페이지 글 수보다 작은 글을 가진 페이지를 보여줄 때 빈 페이지가 나오는 문제 수정 (#1631)
* 라인 : 비공개 라인이 작성되지 않는 버그 수정 (#1613)
* 설치 : 데이터베이스 쿼리 후 제대로된 버전을 알려주지 않는 문제 수정 (#1612)
* 스킨 : 배포판 standard 스킨에서 방명록 비밀글 체크 옵션이 누락된 문제 수정 (#1628)

=== 추가된 옵션 안내 ===
config.php를 편집하여 다음의 옵션들을 수정할 수 있습니다. 충분한 테스트가 이루어진 후 서버 관리 패널 UI에서 조정할수도 있게 될 예정입니다. (현재는 config.php 파일 직접 수정만이 가능합니다.)

> $service['trashtimelimit'] = 302400; // 스팸 휴지통을 자동으로 비울 때 과거 얼마까지를 남기고 지울 것인지를 결정합니다. 단위는 초 입니다.
> $service['codecache'] = false; // 코드 캐시를 사용합니다. 부하가 심한 서버의 경우 PHP 소스코드를 블로그 / 관리패널 / 리더모드 등의 여러 경우에 대하여 필요한 코드만을 묶은 파일로 캐싱함으로서 속도 향상 및 부하 감소를 유도할 수 있습니다. 단, 소스 수정이 잦은 사용자의 경우 소스를 수정할 때 마다 강제 checkup을 통하여 코드 캐시를 재생성해야 합니다.


== v1.8.6 개발 관련 노트 ==
=== 추가된 점 ===
* 스킨 : 댓글 다 보여주기 / 페이징 여부에 상관없이 댓글 정렬 순서를 스킨/스킨 상세 설정 에서 조정할 수 있도록 함.(#1570)
* 블로그 : 안드로이드에서 iPhone/iPod Touch와 동일한 UI 지원 (#1576)
* 스킨 : 댓글 다 보여주기 / 페이징 여부에 상관없이 댓글 정렬 순서를 스킨/스킨 상세 설정 에서 조정할 수 있도록 함.(#1570)
* 블로그 : 안드로이드에서 iPhone/iPod Touch와 동일한 UI 지원 (#1576)

=== 변경된 점 ===
* 일반 : jQuery 라이브러리의 버전 업데이트 (#1560)
* 일반 : 로그인 시 블로그로 되돌아가기 링크 추가 (#1567)
* 일반 : jQuery 라이브러리의 버전 업데이트 (#1560)
* 일반 : 로그인 시 블로그로 되돌아가기 링크 추가 (#1567)

=== 버그 수정 ===
* 일반 : PHP 5.3 이상에서 DirectoryIterator가 더이상 순차적 파일 이름 정렬을 보장하지 않아 발생할 수 있는 라이브러리 로드 문제 수정 (#1564)
* 리더 : 플래시를 통하여 악의적 공격이 가능할 수 있는 문제 수정 (#1107)
* OpenID : 방문자 계정을 생성하여 XSS 삽입 방식의 공격이 가능할 수 있는 문제 수정 (#1558)
* Setup : 설치시 MySQL쿼리의 문법 오류 수정 (#1577)
* 스킨 : 스킨 편집시 마지막으로 편집한 탭의 내용이 저장되지 않는 문제 수정 (#1580)
* 일반 : PHP 5.3 이상에서 DirectoryIterator가 더이상 순차적 파일 이름 정렬을 보장하지 않아 발생할 수 있는 라이브러리 로드 문제 수정 (#1564)
* 리더 : 플래시를 통하여 악의적 공격이 가능할 수 있는 문제 수정 (#1107)
* OpenID : 방문자 계정을 생성하여 XSS 삽입 방식의 공격이 가능할 수 있는 문제 수정 (#1558)
* Setup : 설치시 MySQL쿼리의 문법 오류 수정 (#1577)
* 스킨 : 스킨 편집시 마지막으로 편집한 탭의 내용이 저장되지 않는 문제 수정 (#1580)

== v1.8.5 개발 관련 노트 ==
=== 변경된 점 ===
* TTXML : ttxml 출력시 memory-hog 오류 방지를 위하여 버퍼 기반의 출력방식으로 변경 (#1522)
* 피드 : default feed author 를 email 정보 포함으로 변경 (#1518)
* 피드 : RSS에 ATOM channel anchor 추가 (#1518)
* TTXML : ttxml 출력시 memory-hog 오류 방지를 위하여 버퍼 기반의 출력방식으로 변경 (#1522)
* 피드 : default feed author 를 email 정보 포함으로 변경 (#1518)
* 피드 : RSS에 ATOM channel anchor 추가 (#1518)

=== 버그 수정 ===
* 일반 : 캐시 동작시 RSS 출력시 글이 섞이거나 HTML 태그가 보이는 등의 문제가 발생하여 리더에서 RSS를 잘못 읽어갈 수 있는 문제 수정 (#1520)
* 일반 : 글을 삭제할 경우 카테고리의 글 숫자가 변하지 않는 문제 수정 (#1525)
* 블로그 : author별 글보기 페이지가 pageCache 사용시 출력되지 않는 문제 수정 (#1524)
* 에디터 : ctrl-c, ctrl-v로 닫히지 않는 이미지 태그 로 글을 복사할 경우 이미지 리샘플링기능을 켜고 그글이 일정길이가 되면 글 내용이 안나오는 문제 자동 보정 (#1480)
* 일반 : 캐시 동작시 RSS 출력시 글이 섞이거나 HTML 태그가 보이는 등의 문제가 발생하여 리더에서 RSS를 잘못 읽어갈 수 있는 문제 수정 (#1520)
* 일반 : 글을 삭제할 경우 카테고리의 글 숫자가 변하지 않는 문제 수정 (#1525)
* 블로그 : author별 글보기 페이지가 pageCache 사용시 출력되지 않는 문제 수정 (#1524)
* 에디터 : ctrl-c, ctrl-v로 닫히지 않는 이미지 태그 로 글을 복사할 경우 이미지 리샘플링기능을 켜고 그글이 일정길이가 되면 글 내용이 안나오는 문제 자동 보정 (#1480)

== v1.8.4 개발 관련 노트 ==
=== 추가된 점 ===
Expand Down
2 changes: 1 addition & 1 deletion framework/model/URIHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ private function __URIvariableParser() {
$this->uri['host'] = 'http://' . $_SERVER['HTTP_HOST'] . (!is_null($this->context->getProperty('port')) ? ':' . $this->context->getProperty('port') : '');
$this->uri['blog'] = $this->uri['path'].$this->__getFancyURLpostfix();
$this->uri['folder'] = rtrim($this->uri['blog'] . $suri['directive'], '/');

$this->uri['permalink'] = $this->uri['default'].'/'.implode('/',$this->uri['fragment']);
$this->uri['basicblog'] = $this->uri['blog'];
if (defined('__TEXTCUBE_MOBILE__')) {
$this->uri['blog'] .= '/m';
Expand Down
3 changes: 0 additions & 3 deletions interface/blog/entry.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@
fireEvent('OBStart');
require ROOT . '/interface/common/blog/begin.php';

$automaticLink = "<link rel=\"stylesheet\" href=\"".$context->getProperty('uri.service')."/resources/style/system.css\" type=\"text/css\" media=\"screen\" />\n";
dress('SKIN_head_end', $automaticLink."[##_SKIN_head_end_##]", $view);

if (empty($suri['value'])) {
require ROOT . '/interface/common/blog/entries.php';
} else if (empty($entries)) {
Expand Down
6 changes: 4 additions & 2 deletions interface/common/blog/begin.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
$view = str_replace('[##_SKIN_head_end_##]',getScriptsOnHead().'[##_SKIN_head_end_##]', $view); // TO DO : caching this part.
$view = str_replace('[##_SKIN_body_start_##]',getUpperView(isset($paging) ? $paging : null).'[##_SKIN_body_start_##]', $view);
$view = str_replace('[##_SKIN_body_end_##]',getLowerView().getScriptsOnFoot().'[##_SKIN_body_end_##]', $view); // care the order for js function overloading issue.
$automaticLink = " <link rel=\"stylesheet\" href=\"".$context->getProperty('uri.default')."/resources/style/system.css\" type=\"text/css\" media=\"screen\" />\n";
$canonicalLink = " <link rel=\"canonical\" href=\"".$context->getProperty('uri.permalink')."\"/>\n";

dress('SKIN_head_end', $canonicalLink.$automaticLink."[##_SKIN_head_end_##]", $view);

$automaticLink = " <link rel=\"stylesheet\" href=\"".$context->getProperty('uri.service')."/resources/style/system.css\" type=\"text/css\" media=\"screen\" />\n";
dress('SKIN_head_end', $automaticLink."[##_SKIN_head_end_##]", $view);

if($context->getProperty('blog.useBlogIconAsIphoneShortcut') == true && file_exists(__TEXTCUBE_ATTACH_DIR__."/".$context->getProperty('blog.id')."/index.gif")) {
dress('SKIN_head_end', '<link rel="apple-touch-icon" href="'.$context->getProperty('uri.default')."/index.gif".'" />'."[##_SKIN_head_end_##]",$view);
Expand Down

0 comments on commit a3439f3

Please sign in to comment.