안녕하세요, 접근성 있는 솔루션에 대해 도움을 주실 수 있는 분 계신가요? - 환영 페이지에서 환영 텍스트 아래, 하단 버튼 위, .contents.clearfix.body-page 클래스의 div 안에 이미지를 배치하고 싶습니다.
감사합니다!
현재는 텍스트 위에만 콘텐츠를 추가할 수 있습니다… 하지만 방금 콘텐츠를 아래에도 추가할 수 있도록 허용하는 업데이트를 배포했습니다. 이는 합리적인 기능으로 보입니다. (FEATURE: Add below-static plugin outlet · discourse/discourse@e4ebc30 · GitHub).
몇 시간 후 Discourse를 업데이트하면(yoursite.com/admin/upgrade을 통해) 해당 변경 사항을 받아 필요한 위치에 콘텐츠를 추가할 수 있게 됩니다.
아래는 수행 방법입니다. 테마의 header.html 파일에 다음 내용을 추가해야 합니다:
<script type="text/x-handlebars" data-template-name="/connectors/below-static/custom-login">
{{#if showLoginButton}}
<div class="custom-login-content">
<!-- Your custom HTML here -->
</div>
{{/if}}
</script>
이 템플릿은 여러 위치(FAQ 페이지, 소개 페이지 등)에서 사용되므로, 웰컴 로그인 페이지에서만 콘텐츠가 보이도록 하려면 감싸는 {{#if showLoginButton}} {{/if}} 부분을 유지해야 합니다.
핸들바 템플릿에 플러그인 아웃렛을 사용하여 콘텐츠를 추가하는 방법에 대한 자세한 내용은 여기서 확인할 수 있습니다: Developing Discourse Themes & Theme Components
Kris님, 안녕하세요. 라이브 포럼에 적용하기 전에 이러한 디자인 변경 사항을 Docker에서 실행 중인 로컬 Discourse 인스턴스에서 테스트하고 있습니다. 그런데 'example.com/admin/upgrade`라는 페이지에 접근할 수 없는데, 해당 페이지가 존재하지 않습니다. 라이브 사이트에도 해당 페이지가 없나요? 제가 잘못하고 있는 건지, 다른 업그레이드 방법이 있는지 궁금합니다. 또한 라이브 사이트의 admin/dashboard에서도 업그레이드 방법을 찾을 수 없네요.
다시 한번 인사드립니다, 크리스. 위에서 언급하신 페이지는 제 도커 기반 테스트 Discourse나 라이브 Discourse에서 사용할 수 없습니다. 도움을 주실 수 있을까요?
감사합니다
서브폴더에서 실행 중인가요? 이 인스턴스들은 어떻게 설치되었나요?
모든 discourse 인스턴스에는 /admin/upgrade URL이 있어야 하지만, 관리자가 아니라면 해당 URL에 접근할 수 없습니다.
스티븐님,
저는 두 인스턴스 모두에서 관리자(Trust Level 4)이자 모더레이터입니다.
로컬 인스턴스는 Docker를 사용하여 Users/my-local-user-account(admin)/documents/discourse-test 디렉터리에 설치되었습니다. 로그인 테스트 페이지를 구축하려면 먼저 이곳의 Discourse를 업데이트해야 합니다.
라이브 사이트는 제가 오기 전에 설치되었기 때문에 어떻게 설치되었는지 정확히 모르지만, https://lifeevents.digital.gov.au에서 확인할 수 있습니다.
죄송한데, 관리자이면서 TL4인가요?
app.yml 파일에서 docker-manager가 플러그인으로 활성화되어 있나요?
로컬 설치가 개발용 설치가 아닌지 확인해 보셨나요?
네, admin과 TL4가 둘 다 있습니다.
로컬 인스턴스에는 플러그인이 설치되어 있지 않습니다.
개발 환경 설치는 이 방법으로 진행되었는지 잘 모르겠습니다:
테스트를 위해 로컬에서 Discourse 실행
가장 빠른 방법은 Docker를 사용하는 것입니다.
1단계: Docker 설치
Docker를 웹사이트에서 직접 설치할 수 있습니다.
여기서 설치할 수 있습니다: Install Docker Desktop on Mac | Docker Docs
성공적으로 다운로드되었는지 확인
Docker가 성공적으로 다운로드되었는지 확인하려면 터미널에 docker -v를 입력하면 실행 중인 버전을 알려줍니다.
2단계: discourse 폴더 만들기
Documents 폴더나 다른 원하는 위치에 폴더를 만드는 것을 권장합니다. 다음 명령어를 사용하여 이를 수행하세요.
cd ~/Documents
mkdir discourse-test
cd discourse-test
curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-discourse/master/docker-compose.yml > docker-compose.yml
docker-compose up -d
3단계: /etc/hosts 파일 업데이트
/etc/hosts 파일의 하단에 다음 텍스트 줄을 추가해야 합니다.
127.0.0.1 www.example.com
먼저 nano 편집기를 사용하여 파일을 엽니다. 비밀번호를 입력하라는 프롬프트가 표시됩니다.
sudo nano /etc/hosts
그런 다음 파일 하단에 이 텍스트를 추가하세요: 127.0.0.1 www.example.com
이 설정을 저장하려면 ctrl+x를 누른 다음 y를 누르고 return 키를 누르세요.
4단계: 로컬에서 열기
이제 브라우저에서 www.example.com으로 이동하여 discourse 테스트 인스턴스를 열 수 있어야 합니다.
사용자 이름: user
비밀번호: bitnami123
Docker에 유용한 명령어
discourse 중지 (~/Documents/discourse-test 디렉토리에 있는지 확인하세요):
docker-compose stop
discourse 시작 (~/Documents/discourse-test 디렉토리에 있는지 확인하세요):
docker-compose up -d
컨테이너 제거 (~/Documents/discourse-test 디렉토리에 있는지 확인하세요):
docker-compose down -v
이미지 제거 (먼저 컨테이너를 제거해야 합니다):
docker rmi $(docker images -q)
네, Bitnami 설치를 사용 중이시군요. 이는 제3자 패키지입니다. 안타깝게도 여기서 해당 설치에 대한 지원을 제공해 드릴 수 없습니다. 이 주제를 unsupported-install(비지원 설치)로 태그하겠습니다.
지원되는 설치 방법은 공식 표준 설치 또는 로컬에서 개발 중인 경우의 dev-install(개발용 설치)뿐입니다.
해당 설치에 대한 도움이 필요하시면 Bitnami에 문의하시거나, 백업을 받아 공식적으로 지원되는 설치 환경에 복원하셔야 합니다.
네, 그러면 로컬 설치에 대한 내용이네요. 표준 설치 방식은 제가 조사해 보겠습니다. 설치가 표준이 아니라는 데에는 동의합니다.
실제 사이트의 경우 - 관리자/업그레이드 페이지가 실제 사이트에서도 사용 불가능합니까? 문의가 두 인스턴스 모두에 대한 것이었으므로, 이를 지원되지 않는 설치라고 태그하지 않는 것이 맞지 않을까요?
그렇다면 Bitnami일 가능성도 있고, 그 경우에도 동일한 내용이 적용될 것입니다. Bitnami가 아니라면 docker-manager가 비활성화되었음을 의미하며, 이 역시 매우 중요한 부분입니다. 해당 설치에 대한 조사는 직접 진행해 주시고, 추후에 결과를 공유해 주시면 됩니다.
귀하의 문제는 왜 서드파티 패키지에 대한 지원을 제공하지 못하는지를 잘 보여줍니다. 패키지가 의도된 방식으로 동작하지 않고 웹 업데이트와 같은 중요한 기능이 누락되어 있다면, 패키지 관리자가 지원을 제공해야 합니다.
솔직히 해당 패키지를 사용할 만한 좋은 이유는 거의 없습니다. 공식 설치를 사용하는 것이 거의 항상 더 나은 선택입니다.
서드파티 패키지에 대한 여러분의 frustraton을 이해합니다. 하지만 저는 그저 무언가를 완료하고자 하는 디자이너일 뿐이며, 접근이 제한적이었던 개발자가 제게 제공한 옵션이었을 뿐입니다. 저는 개발자가 아닙니다.
라이브 디스코urs 인스턴스를 확인한 후 나중에 다시 게시하겠습니다. 도움을 주셔서 감사드리며, 설치 인스턴스를 하나의 스레드로 묶어 요청을 혼란스럽게 한 점에 대해 사과드립니다.
이것은 우리에게 문제가 되지도, 좌절감을 주지도 않습니다. 하지만 도움을 요청하는 사용자들에게는 혼란이나 좌절감을 줄 수 있다는 점은 이해할 수 있습니다.
여기서 우리는 많은 무료 지원을 제공하고 있으므로, 해당 지원의 범위를 합리적으로 집중시키기 위해 무언가를 해야 합니다. Discourse로
놀라운
일들을 매우 창의적으로 해내는 분들이 계십니다. 그런 분들을 돕는 것은 상당히 보람 있는 일입니다. 비공식 이미지를 지원해야 한다면 해당 지원의 부담이 기하급수적으로 증가하여, 다른 모든 측면에 해가 될 것입니다.
정말 좋습니다! 로그인 텍스트 div의 왼쪽이나 오른쪽에 콘텐츠를 추가하려면 새로운 플러그인 아웃렛을 생성해야 하는지, 아니면 CSS 속성을 추가하는 것이 최선인지 궁금합니다.
두 번째로, 테마 컴포넌트의 header.html에도 추가할 수 있을 것 같지만, 확인 차 물어봅니다.
감사합니다!
해결 방법을 찾아보려고 노력했지만, 어떤 이유에서인지 showLoginButton이 항상 true로 인식되지 않습니다. 테스트 사이트는 비공개로 설정되어 있고, /login을 방문하면 버튼이 페이지에 표시됩니다. showLoginButton의 값을 로그로 출력해 봤는데 undefined로 반환됩니다.
if를 unless로 교체하면 정상적으로 동작하는 것 같습니다. 문제의 원인에 대한 아이디어가 있다면 알려주시면 감사하겠습니다.
<script type="text/x-handlebars" data-template-name="/connectors/below-static/custom-login">
{{#unless showLoginButton}}
<div class="custom-login-content">
<h1>test</h1>
</div>
{{/unless}}
</script>

