DSpace包含指向社交媒体的链接

时间:2017-07-26 17:33:59

标签: facebook twitter dspace

在新西兰的Massey UniversityUniversity of Waikato的DSpace存储库中,有一些按钮可以与Twitter,Facebook和其他社交媒体共享存储库中文档的链接。
这两个网站都有一个带Twitter推文的窗口 我希望你们中的某个人想要解释如何将这两种功能添加到DSpace Mirage 2主题中。

3 个答案:

答案 0 :(得分:3)

我们在我们的DSpace安装中使用addThis服务:http://www.addthis.com/

该服务允许您自定义网站的共享选项。

对于Mirage2,我们将以下javascript添加到Mirage2 / xsl / core / page-structure.xsl以将服务添加到我们的网站。该链接将包含您配置的唯一ID。

   <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=..."></script>        

我们还为Mirage2 / styles / _style.scss

添加了一些自定义CSS
.container {
  padding-left: 50px;
  padding-right: 50px;
}

您可以在我们的存储库网站上预览:https://repository.library.georgetown.edu/

答案 1 :(得分:2)

terrywb的答案涵盖了分享按钮方面 - 这正是彼得所链接的怀卡托大学的资料库所使用的服务。我们在navigation.xsl中添加了JavaScript而不是page-structure.xsl,我们还添加了

<div class="addthis_sharing_toolbox list-group" style="min-height:37.5px"></div>

#ds-options div的开始标记之后,与AddThis嵌入指令一致。

关于主页上的推文,请参阅Twitter embedded timeline instructions。我相信我们通过news-xmlui.xml添加一个占位符div,然后在theme.xsl中触发一个模板,该模板引入JavaScript并生成所需的a元素 - 下面的示例来自Twitter文档。

<a class="twitter-timeline"
  href="https://twitter.com/TwitterDev"
  data-width="300"
  data-height="300">
Tweets by @TwitterDev
</a>

答案 2 :(得分:2)

如果您想避免像AddThis这样的服务跟踪您的用户或只是想保持简单,您可以使用简单的共享链接。添加到dspace-xmlui-mirage2/src/main/webapp/xsl/aspect/artifactbrowser/item-view.xsl此模板:

<xsl:template name="share-section">
    <div class="item-page-field-wrapper table hidden-print">
        <h5><i18n:text>xmlui.mirage2.itemSummaryView.ShareSection</i18n:text></h5>

        <xsl:variable name="url">
            <xsl:value-of select="encoder:encode(confman:getProperty('dspace.baseUrl'))" />
            <xsl:value-of select="encoder:encode('/handle/')" />
            <xsl:value-of select="encoder:encode(substring-after(/mets:METS/@OBJID,'handle/'))" />
        </xsl:variable>

        <a target="_blank" i18n:attr="title" title="xmlui.export.mendeley"
                href="http://www.mendeley.com/import/?url={$url}">
            <img src="{concat($theme-path,'/images/mendeley.png')}"
                 i18n:attr="alt" alt="xmlui.export.mendeley" />
        </a>

        <a class="social-network-icon twitter"
           href="http://twitter.com/home/?status={$url}"
           title="Share on Twitter" target="_blank">&#xFEFF;</a>

        <a class="social-network-icon facebook"
           href="http://www.facebook.com/sharer.php?u={$url}"
           title="Share on Facebook" target="_blank">&#xFEFF;</a>
    </div>
</xsl:template>

Here您可以找到更多其他社交网络的分享链接。

然后,您必须从您希望它出现的位置调用模板。例如,我们将其添加到项目元数据的第一列,位于同一文件的<xsl:template match="dim:dim" mode="itemSummaryView-DIM">模板中。

我们从Expando获得了图标(与社交网络共享的另一种选择,以及它的免费软件)。这个CSS用于显示图标:

.social-network-icon {
  background-image: url("../images/social-networks-icons.png");
  background-repeat: no-repeat;
  background-origin: 0;
  display: inline-block;
  height: 16px;
  margin-left: 4px;
  vertical-align: middle;
  width: 16px;
}

.social-network-icon.facebook {
  background-position: -0*16px 0;
}

.social-network-icon.google-plus {
  background-position: -2*16px 0;
}